2017-04-01 58 views
1

我試圖創建使用下面的命令YAML文件一個暢達環境:類型錯誤時產生康達環境

conda env create -f myenv.yml python=3  

當我的YAML文件中是這樣寫的:

name: myenv 
channels: 
    - conda-forge 
dependencies: 
    - django=1.10.5 
    - pip: 
    - gunicorn==19.7.0 
    - psycopg2==2.6.2 

它的工作原理精細。

當我的YAML文件是這樣寫的(不康達鍛包/信道):

name: myenv 
dependencies: 
    - pip: 
    - gunicorn==19.7.0 
    - psycopg2==2.6.2 

生成下面的錯誤:

Traceback (most recent call last): 
    File "/home/myuser/anaconda3/lib/python3.6/site-packages/conda/exceptions.py", line 573, in conda_exception_handler 
    return_value = func(*args, **kwargs) 
    File "/home/myuser/anaconda3/lib/python3.6/site-packages/conda_env/cli/main_create.py", line 108, in execute 
    installer.install(prefix, pkg_specs, args, env) 
    File "/home/myuser/anaconda3/lib/python3.6/site-packages/conda_env/installers/pip.py", line 8, in install 
    pip_cmd = pip_args(prefix) + ['install', ] + specs 
TypeError: unsupported operand type(s) for +: 'NoneType' and 'list' 

我需要使用第二YAML沒有conda-forge包的例子。

有什麼建議嗎?

回答

2

IMO,這看起來像在conda bug。但是,您可以通過添加pip作爲依賴來解決此問題。所以,請確保文件myenv.yml具有以下內容:

name: myenv 
dependencies: 
    - pip=9.0.1=py27_1 
    - pip: 
    - gunicorn==19.7.0 
    - psycopg2==2.6.2 
+0

謝謝。作品!順便說一句,它也可以不指定py27_1。我在conda create命令中指定了python = 3,所以它安裝了pip = 9.0.1 = py36_1。 –

+0

是的,我正在測試這個在py2基地安裝。是的,指定構建字符串不是必需的。 –

相關問題