python的virtualenv的许多问题

时间:2015-04-23 04:29:32

标签: python macos python-2.7 virtualenv virtualenvwrapper

我在使用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卸载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

我对这一切都很新,我不知道自己在做什么,或者如何解决这个问题,所以任何帮助都会非常感激。

谢谢!

2 个答案:

答案 0 :(得分:5)

问题是你的系统上有多个版本的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安装的;但是当你尝试创建一个虚拟环境时 - 由于你的路径设置方式,它正在尝试使用Canopy版本的Python - 这就是你的错误来源。

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

  1. 删除Canopy,并使用OSX版本的Python。
  2. 在Canopy版本的Python上安装virtualenv。
  3. 修改您的PATH,以便系统版本的Python优先。
  4. 安装另一个版本的Python(例如,自制软件)并将其设为默认版本。
  5. 您选择的分辨率取决于您需要系统执行的操作。如果您需要与Canopy捆绑在一起的库,那么您需要选择选项#2,否则选择任何其他选项。 #4是最具破坏性的(因为它涉及安装许多其他东西)。

答案 1 :(得分:0)

Enthought Canopy网站建议this:使用venv,而不是virtualenv。