2016-06-30 26 views
10

tôi đã xuất khẩu môi trường hiện đang hoạt động của tôi vớiXuất môi trường conda với pip địa phương cài đặt

conda env export > environment.yml 

này rất thuận tiện vì nó theo dõi cả conda và pip gói cài đặt. Tuy nhiên, tôi có một vài gói (shapely và basemap chẳng hạn) được cài đặt cục bộ bằng pip từ tệp .whl từ các gói được biên dịch của Christoph Gohlke cho Windows. Khi tôi cố gắng tạo lại môi trường của mình bằng cách

conda env create -f environment.yml 

pip trả về lỗi do không thể tìm thấy các gói này trong chỉ mục của nó (hiển nhiên). Có cách nào để nói pip trong bước xuất khẩu conda nơi để tìm các gói địa phương? Các tệp .whl có thể được giả định là nằm trong cùng thư mục với tệp environment.yml.

+0

'shapely' và' bản đồ cơ sở 'cả hai đều có gói conda có sẵn trong conda-giả mạo kênh cộng đồng của conda. Bạn có thể dễ dàng cài đặt các gói conda thay thế. – cel

+0

Tôi không biết điều đó - đó là khá thuận tiện cho các gói này. Thật không may tường lửa của công ty tôi không thích conda-forge :( – user787267

Trả lời

8

Không có cách nào để thực sự tạo mục nhập cho tệp .whl tự động từ những gì tôi biết.

Cách đơn giản nhất để làm việc này là bằng cách thay đổi tệp environment.yml theo cách thủ công và thêm tệp .whl vào danh sách dưới - pip:. Tôi cố gắng này bằng cách tải về gói .whl cho nose và đặt nó vào cùng thư mục với tập tin env.yml tôi, cấu trúc trông như thế này:

name: python3_test 
dependencies: 
- openssl=1.0.2h=1 
- pip=8.1.2=py35_0 
- python=3.5.1=5 
- readline=6.2=2 
- setuptools=23.0.0=py35_0 
- sqlite=3.13.0=0 
- tk=8.5.18=0 
- wheel=0.29.0=py35_0 
- xz=5.2.2=0 
- zlib=1.2.8=3 
- pip: 
    - nose-1.3.7-py3-none-any.whl 

Nếu nó nằm trong một thư mục khác nhau, chỉ cần cung cấp thư mục. Đường dẫn, tất nhiên, phải hợp lệ khi phát hành conda create env.

Lệnh pip được cấp khi chạy conda env create -n <name> -f <file.yml>pretty straightforward install do đó ngữ nghĩa cài đặt với pip từ dòng lệnh phải giống nhau. Heck, bạn thậm chí có thể thêm url cho tệp .whl trong requirements.yml và quá trình cài đặt sẽ vẫn diễn ra suôn sẻ. Một lần nữa, giữ phần còn lại giống nhau và sử dụng url để tải xuống nose:

- pip: 
    - https://pypi.python.org/packages/15/d8/dd071918c040f50fa1cf80da16423af51ff8ce4a0f2399b7bf8de45ac3d9/nose-1.3.7-py3-none-any.whl#md5=3135984cc9cfcbe5d9c46e166d6743b0 

Sử dụng bất kỳ url nào cũng không gây ra bất kỳ sự cố nào.

1

Dưới đây là một ví dụ cụ thể của một environment.yml có sử dụng một URL để liên kết đến các file bánh từ gói biên soạn Christoph Gohlke cho Windows:

# run: conda env create --file environment.yml 
name: test-env 
dependencies: 
- python>=3.5 
- anaconda 
- pip 
- pip: 
    - http://www.lfd.uci.edu/~gohlke/pythonlibs/bofhrmxk/opencv_python-3.1.0-cp35-none-win_amd64.whl 

tham khảo: https://stackoverflow.com/a/35245610/1493069

Các vấn đề liên quan