创建Conda环境时出现TypeError

时间:2017-04-01 23:20:00

标签: anaconda conda

我正在尝试使用以下命令从yaml文件创建conda环境:

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文件写得像这样(没有conda-forge包/频道)时:

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'

我需要使用没有conda-forge包的第二个yaml示例。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

IMO,这看起来像康茄舞中的bug。但是,您可以通过添加pip作为依赖项来解决此问题。因此,请确保文件myenv.yml包含以下内容:

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