Câu trả lời của Pbms ở đây là cách đúng đắn để làm điều đó, giả sử bạn có một môi trường hiện có để sao chép. Conda hoàn toàn có khả năng cài đặt cả gói Conda và gói pip, như được liệt kê trong environment.yml
. Tôi muốn ghi lại toàn bộ quá trình một cách chi tiết hơn. Lưu ý rằng tôi đang sử dụng môi trường dựa trên thư mục, đó là lý do tại sao tôi đã thêm --prefix [path to environment folder]
vào hầu hết các lệnh.
Giả sử bạn đã cài đặt một môi trường cho một dự án hiện có vào một thư mục được gọi env
trong thư mục hiện tại, như sau:
conda create --prefix ./env
Bạn sẽ tạo environment.yml
cho môi trường của dự án đó như thế này:
conda env export --prefix ./env > environment.yml
Bạn sẽ tạo một môi trường mới trong một số thư mục khác bằng cách sao chép environment.yml
vào đó và sau đó chạy nó từ đó:
conda env create --prefix ./env --file environment.yml
Bạn sẽ có được một môi trường đã tồn tại để khớp environment.yml
bằng cách sao chép lại environment.yml
vào đó một lần nữa và sau đó chạy nó từ đó:
conda env update --prefix ./env --file environment.yml --prune
Với môi trường được đề cập đang hoạt động, bạn sẽ xác minh trạng thái của các gói của nó như sau:
conda list
Đây là phiên bản rút gọn của những gì lệnh đó có thể in (lưu ý rằng các gói pip được đánh dấu 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
Cuối cùng, đây là một phiên bản rút gọn của những gì environment.yml
có thể trông như thế nào (lưu ý rằng các gói pip được liệt kê trong danh mục riêng của chúng):
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
Lưu ý rằng việc sử dụng Conda và pip cùng nhau có thể gây ra một số chứng ợ nóng vì chúng có thể vô tình làm mất đi sự phụ thuộc của nhau. Bạn phải cài đặt tất cả các gói Conda của mình trước và sau đó là tất cả các gói pip sau đó, thay vì xen kẽ giữa hai gói. Nếu môi trường của bạn bị hỏng, khuyến nghị chính thức là xóa và tạo lại nó (từ environment.yml
tệp của bạn ). Để biết thêm chi tiết, hãy xem hướng dẫn này:
https://www.anaconda.com/using-pip-in-a-conda-enosystem/