无法为virtualenv加载Python 3.5解释器

无法为virtualenv加载Python 3.5解释器,python,python-2.7,python-3.x,virtualenv,Python,Python 2.7,Python 3.x,Virtualenv,我已经通过Anaconda在OSX系统上安装了Python 3.5。安装并激活虚拟环境后 virtualenv venv source venv/bin/activate Python版本是Python 2.7.10。虽然我们可以在“/usr/bin/”中加载我们选择的解释器,但它只有Python2.6和2.7的文件夹。找到蟒蛇python 3.5路径(/Users/Username/Anaconda/lib/python3.5)后 并试图加载它 适用于:virtualenv-p/Users/

我已经通过Anaconda在OSX系统上安装了Python 3.5。安装并激活虚拟环境后

virtualenv venv
source venv/bin/activate
Python版本是Python 2.7.10。虽然我们可以在“/usr/bin/”中加载我们选择的解释器,但它只有Python2.6和2.7的文件夹。找到蟒蛇python 3.5路径(/Users/Username/Anaconda/lib/python3.5)后 并试图加载它

适用于:virtualenv-p/Users/Username/anaconda/lib/python3.5venv

代码返回一个被拒绝的[Errno 13]权限

> Running virtualenv with interpreter /Users/Username/anaconda/lib/python3.5
> Traceback (most recent call last):   File "/usr/local/bin/virtualenv",
> line 11, in <module>
>     sys.exit(main())   File "/Library/Python/2.7/site-packages/virtualenv.py", line 790, in main
>     popen = subprocess.Popen([interpreter, file] + sys.argv[1:], env=env)   File
> "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py",
> line 710, in __init__
>     errread, errwrite)   File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py",
> line 1335, in _execute_child
>     raise child_exception
OSError: [Errno 13] Permission denied
此错误是由于尝试组合不兼容的Python版本和virtualenv工具而导致的。我不确定不兼容性的确切来源,但我知道如何解决它

假设您的Python功能合理,而且是最新的(阅读:3.3或更高版本),这应该始终有效:

/path/to/python3.5 -m venv venv
第一个venv是。第二个是要在其中创建virtualenv的目录的名称。这个命令要求Python自己创建一个virtualenv,而不是向第三方工具提供。因此,我们有理由相信Python会正确地完成它,特别是它不会与自身不兼容


不幸的是,与Anaconda一起安装的Python版本不能被描述为“功能合理”,因为。这使得venv模块无法将
pip
引导到您的VirtualNV中。因此,您需要在不使用pip的情况下构建venv,然后手动安装:

/path/to/python3.5 -m venv --without-pip venv

然后从virtualenv中下载并运行。

您可以使用
-p
选项指定Anaconda的Python 3解释器的路径。Anaconda的Python通常是自动找到的,至少在ubuntu上是这样。在virtualenv之外,python是否使用anaconda python?是的,在virtualenv之外,它使用python 3.5。但仍在研究如何将其加载到virtualenv中…尝试使用bin/python3.5而不是lib/python3.5?谢谢!现在权限错误消失了,但另一个错误似乎出现了,请查看我的更新问题了解更多信息谢谢!如前所述,我使用的是Python 3.5,因此应该可以工作。。。下面是输出:无法将“/Users/Username/anaconda/bin/python3.5”符号链接到“/Users/targetfolder/venv/bin/python3.5”,错误:命令“['targetpath/venv/bin/python3.5'”,“-Im”,“ensurepip',”--upgrade',“--default pip']”返回非零退出状态-11使用
--copies
标志进行尝试?如果失败,您可能不得不使用
——而不使用pip
,这相当不方便。谢谢!你能再详细一点吗?
/path/to/python3.5-m venv venv-copies是什么意思?这可能会起作用,但从字面上讲,它应该在模块名之后和目标目录名之前(因此
-m venv-copies venv
)。此外,如果目标目录已经存在(因为您在上次运行后没有清理它),您必须传递
--clear
标志,告知venv模块移除现有的积垢。非常感谢您的指导!没想到蟒蛇会如此棘手,需要采取一些措施。所有问题都可以使用提供的方法解决。
/path/to/python3.5 -m venv venv
/path/to/python3.5 -m venv --without-pip venv