Mac 在 Azure 云平台中设置 Django 时出现 Virtualenv 错误

Virtualenv error while setting up Django in Azure Cloud Platform on Mac

我在这里找到了教程: https://azure.microsoft.com/en-us/documentation/articles/web-sites-python-create-deploy-django-app/

我正在尝试创建一个 Django 项目并将其与 Github 和 azure 云平台同步。至于先决条件,除了 Python 之外,我什么都有 Visual Studio 的工具,因为我使用 PyCharm 进行开发。

我按照教程的指示克隆了存储库,但是当我尝试创建虚拟环境时

$python -m virtualenv env

我收到以下回复:

New python executable in env/bin/python
Installing setuptools, pip, wheel...
  Complete output from command /Users/dimitris/JBring/env/bin/python -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip wheel:
  Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/dimitris/anaconda/lib/python2.7/site-packages/virtualenv_support/pip-7.0.1-py2.py3-none-any.whl/pip/__init__.py", line 13, in <module>
  File "/Users/dimitris/anaconda/lib/python2.7/site-packages/virtualenv_support/pip-7.0.1-py2.py3-none-any.whl/pip/utils/__init__.py", line 15, in <module>
  File "/Users/dimitris/anaconda/lib/python2.7/zipfile.py", line 6, in <module>
    import io
  File "/Users/dimitris/anaconda/lib/python2.7/io.py", line 51, in <module>
    import _io
ImportError: dlopen(/Users/dimitris/JBring/env/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyCodecInfo_GetIncrementalDecoder
  Referenced from: /Users/dimitris/JBring/env/lib/python2.7/lib-dynload/_io.so
  Expected in: dynamic lookup

----------------------------------------
...Installing setuptools, pip, wheel...done.
Traceback (most recent call last):
  File "/Users/dimitris/anaconda/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/Users/dimitris/anaconda/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/Users/dimitris/anaconda/lib/python2.7/site-packages/virtualenv.py", line 2363, in <module>
    main()
  File "/Users/dimitris/anaconda/lib/python2.7/site-packages/virtualenv.py", line 832, in main
    symlink=options.symlink)
  File "/Users/dimitris/anaconda/lib/python2.7/site-packages/virtualenv.py", line 1004, in create_environment
    install_wheel(to_install, py_executable, search_dirs)
  File "/Users/dimitris/anaconda/lib/python2.7/site-packages/virtualenv.py", line 969, in install_wheel
    'PIP_NO_INDEX': '1'
  File "/Users/dimitris/anaconda/lib/python2.7/site-packages/virtualenv.py", line 910, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /Users/dimitris/JBring/env/bin/python -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip wheel failed with error code 1

我正在使用随 anaconda 软件包一起安装的 Python 2.7。我使用以下方法安装了 virtualenv:

conda install virtualenv

提前致谢!

我使用 conda 重现了您的问题。 conda 似乎将 ~/.bash_profile 配置为与 PYTHONPATH 混为一谈。您可以尝试在 Python 解释器中通过以下代码检查 PYTHONPATH

>>> import sys
>>> sys.path

默认 Python 包由 OS 安装在路径 /usr/local/lib/python2.7/site-packages & /Library/Python/2.7/site-packages,但 conda 安装 python 包在路径 ~/anaconda/lib/python2.7/site-package 并配置 ~/.bash_profile 以设置本地 PYTHONPATH(不是全局,不需要 sudo)。

要解决此问题,请尝试使用命令 virtual env --no-setuptools --no-pip --no-wheel