2016-06-30 81 views
10

我已出口我的當前活動的環境導出與當地PIP一個暢達環境安裝

conda env export > environment.yml 

這是非常方便的,因爲它跟蹤暢達的和PIP安裝的軟件包。但是,我有幾個軟件包(例如shapely和basemap),它們是由Christoph Gohlke編譯的Windows軟件包的.whl文件中的pip本地安裝的。當我嘗試重新創建我的環境時

conda env create -f environment.yml 

pip返回錯誤,因爲它無法在其索引(顯然)中找到這些包。有沒有辦法在conda導出步驟中告訴pip在哪裏查找這些本地包? .whl文件可以假定與environment.yml文件在同一個目錄中。

+0

'shapely'和'底圖'conda的社區渠道conda-forge都有conda軟件包。您可能更容易安裝conda軟件包。 – cel

+0

我不知道 - 這對這些軟件包來說非常方便。不幸的是我的公司防火牆不喜歡conda-forge :( – user787267

回答

8

根據我的意識,沒有辦法真正讓它自動爲.whl文件創建條目。

最簡單的方法是通過手動更改environment.yml文件並在- pip:下的列表中添加.whl文件。我通過下載.whlnose並把它放在同一個目錄中我env.yml文件試過,結構是這樣的:

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 

如果它位於不同的目錄,只需提供該目錄。當然,在發行conda create env時,路徑應該是有效的。

運行時發出的pip命令conda env create -n <name> -f <file.yml>pretty straightforward install所以從命令行使用pip進行安裝的語義應該是類似的。哎呀,你甚至可以在requirements.yml中爲.whl文件添加url,安裝過程仍然會順利進行。再次,保持休息以及使用該網址下載nose

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

使用任何URL應該不會造成任何問題。

1

下面是一個使用中的網址,克里斯托夫Gohlke的編譯包鏈接到車輪文件適用於Windows的environment.yml的具體例子:

# 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 

參考:https://stackoverflow.com/a/35245610/1493069

相關問題