คำตอบของ Pbms ต่อไปนี้เป็นวิธีที่ถูกต้องโดยสมมติว่าคุณมีสภาพแวดล้อมที่มีอยู่ให้คัดลอก Conda เป็นอย่างที่สามารถติดตั้งทั้งแพคเกจ Conda และแพคเกจ pip environment.yml
ที่ระบุไว้ใน ฉันต้องการบันทึกกระบวนการทั้งหมดโดยละเอียดมากขึ้น โปรดทราบว่าฉันใช้สภาพแวดล้อมแบบโฟลเดอร์ซึ่งเป็นสาเหตุที่ฉันเพิ่ม--prefix [path to environment folder]
คำสั่งส่วนใหญ่
สมมติว่าคุณติดตั้งสภาพแวดล้อมสำหรับโปรเจ็กต์ที่มีอยู่ไปยังโฟลเดอร์ที่เรียกว่าenv
ในโฟลเดอร์ปัจจุบันดังนี้:
conda create --prefix ./env
คุณจะสร้างenvironment.yml
สำหรับสภาพแวดล้อมของโครงการเช่นนี้:
conda env export --prefix ./env > environment.yml
คุณจะสร้างสภาพแวดล้อมใหม่ภายในโฟลเดอร์อื่นโดยคัดลอกenvironment.yml
ไปที่นั่นแล้วเรียกใช้สิ่งนี้จากที่นั่น:
conda env create --prefix ./env --file environment.yml
คุณจะได้รับสภาพแวดล้อมที่มีอยู่แล้วเพื่อจับคู่environment.yml
โดยการคัดลอกenvironment.yml
ไปที่นั่นอีกครั้งจากนั้นเรียกใช้สิ่งนี้จากที่นั่น:
conda env update --prefix ./env --file environment.yml --prune
เมื่อสภาพแวดล้อมที่เป็นปัญหาทำงานอยู่คุณจะต้องตรวจสอบสถานะของแพ็กเกจดังนี้:
conda list
นี่เป็นเวอร์ชันย่อของสิ่งที่คำสั่งนั้นอาจพิมพ์ได้ (โปรดทราบว่ามีการทำเครื่องหมายแพ็คเกจ pip pypi
):
pip 19.2.2 py37_0
python 3.7.4 h5263a28_0
numpy 1.16.4 py37h19fb1c0_0
pandas 0.25.1 py37ha925a31_0
pyodbc 4.0.27 py37ha925a31_0
ibm-db 3.0.1 pypi_0 pypi
ibm-db-sa 0.3.5 pypi_0 pypi
สุดท้ายนี้เป็นเวอร์ชันย่อของสิ่งที่environment.yml
อาจมีลักษณะเช่นนี้ (โปรดทราบว่าแพ็คเกจ pip แสดงอยู่ในหมวดหมู่ของตนเอง):
dependencies:
- pip=19.2.2=py37_0
- python=3.7.4=h5263a28_0
- numpy=1.16.4=py37h19fb1c0_0
- pandas=0.25.1=py37ha925a31_0
- pyodbc=4.0.27=py37ha925a31_0
- pip:
- ibm-db==3.0.1
- ibm-db-sa==0.3.5
โปรดทราบว่าการใช้ Conda และ pip ร่วมกันอาจทำให้เกิดอาการเสียดท้องได้เนื่องจากอาจทำให้การพึ่งพาซึ่งกันและกันโดยไม่รู้ตัว คุณควรจะติดตั้งแพ็คเกจ Conda ทั้งหมดของคุณก่อนจากนั้นจึงทำการติดตั้งแพ็คเกจ pip ทั้งหมดของคุณในภายหลังแทนที่จะสลับระหว่างสองแพ็คเกจ หากสภาพแวดล้อมของคุณพังคำแนะนำอย่างเป็นทางการคือลบและสร้างใหม่ (จากenvironment.yml
ไฟล์ของคุณ) สำหรับรายละเอียดเพิ่มเติมโปรดดูคู่มือนี้:
https://www.anaconda.com/using-pip-in-a-conda-environment/