【问题标题】:Many Problems with python's virtualenvpython的virtualenv的许多问题
【发布时间】:2015-07-01 01:31:33
【问题描述】:

我在让 virtualenv 工作方面遇到了很多麻烦。

首先我通过 pip 安装它,然后尝试设置 virtualenv。那没用,我收到以下错误消息:

    ResNets-iMac:desktop zachary$ virtualenv anothertest
Using base prefix '/Applications/Canopy.app/appdata/canopy-1.5.1.2730.macosx-x86_64/Canopy.app/Contents'
New python executable in anothertest/bin/python
dyld: Library not loaded: @rpath/Python
  Referenced from: /Users/zachary/Desktop/anothertest/bin/python
  Reason: image not found
ERROR: The executable anothertest/bin/python is not functioning
ERROR: It thinks sys.prefix is u'/Users/zachary/Desktop' (should be u'/Users/zachary/Desktop/anothertest')
ERROR: virtualenv is not compatible with this system or executable

然后,我几乎完成了所有我能解决的问题,并确定 Canopy 是问题所在。所以我删除了它,重新安装了virualenv(通过'pip uninstall virtualenv'然后'pip install virtualenv')现在每当我尝试做任何涉及virtualenv的事情时都会收到这个错误:

dyld: Library not loaded: @rpath/Python
  Referenced from: /Users/zachary/Library/Enthought/Canopy_64bit/User/bin/python
  Reason: image not found

我不知道该怎么做,当我检查我的默认 python 版本是什么时,我得到:

/Library/Frameworks/Python.framework/Versions/2.7/bin/python

我对这一切都很陌生,我真的不知道我在做什么或如何解决这个问题,因此非常感谢任何帮助。

谢谢!

【问题讨论】:

    标签: python macos python-2.7 virtualenv virtualenvwrapper


    【解决方案1】:

    Enthought Canopy 网站推荐 this: 使用 venv,而不是 virtualenv。

    【讨论】:

      【解决方案2】:

      问题是您的系统上有多个 Python 版本。

      您拥有 OSX 附带的 Python (/Library/Frameworks/Python.framework/Versions/2.7/bin/python),然后您拥有 Canopy 附带的 Python;这是/Users/zachary/Library/Enthought/Canopy_64bit/User/bin/python。

      您的路径将默认版本指向 Canopy 的版本,但 pip 是针对 Python 的默认系统版本安装的。

      所以当你安装 virtualenv 时,它是针对 Python 的默认版本安装的;但是当您尝试创建一个虚拟环境时 - 由于您的路径设置方式,它正在尝试使用 Python 的 Canopy 版本 - 这就是您的错误的根源。

      要解决此问题,您可以执行以下任一操作:

      1. 移除 Canopy,并使用 OSX 版本的 Python。
      2. 在 Canopy 版本的 Python 上安装 virtualenv。
      3. 修改您的 PATH 以便 Python 的系统版本优先。
      4. 安装另一个版本的 Python(比如 homebrew)并将其设为默认版本。

      您选择的分辨率取决于您需要系统执行的操作。如果您需要与 Canopy 捆绑的库,则需要选择选项 #2,否则请选择任何其他选项。 #4 是最具破坏性的(因为它需要安装很多其他的东西)。

      【讨论】:

      • 感谢您的回复!目前我真的不需要 Canopy(正在使用它来上课),所以我选择了第一个选项。但是,现在我收到了上面列出的第二个错误。所以我想我会尝试做第三种选择。我会尝试自己做,但最好的方法是什么?再次感谢!
      • 嗯,我想我基本上按照你说的做了,但我不是 100% 确定......我想通了,你所要做的就是注释掉(或删除)任何 Canopy 实例这些文件:/Users/<your-username>/.bash_profile , /Users/<your-username/.profile , /Users/<your-username>/.bashrc
      猜你喜欢
      • 2011-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-09
      • 1970-01-01
      • 2018-11-07
      相关资源
      最近更新 更多