首页 > 解决方案 > virtualenv 选择 python 版本给出权限被拒绝错误

问题描述

我想指定 virtualenv 的 python 版本。我已经安装了 python2.73.8通过 home brew 安装了,我可以创建虚拟环境,就像这里描述的那样,对于两个版本:

virtualenv --python=/usr/bin/python2.7 my-env

现在使用其他 python 版本,例如3.7许多页面推荐pyenv. pyenv但是,当我想以类似的方式使用它时,我可以使用它来安装特定的 python 版本:

virtualenv --python=/Users/user/.pyenv/versions/3.7.7 my-env

我明白了RuntimeError: failed to query /Users/user/.pyenv/versions/3.7.7 with code 13 err: 'Permission denied'

我还尝试pyenv全局激活环境并使用它来安装。我可以在终端中使用pyenv. 然而,在创建虚拟环境后,它总是使用真正安装的 python 而不是来自pyenv.

为什么我的主文件夹中安装的内容被拒绝?我从来没有使用 sudo 明确地安装任何这些东西。我该如何解决这个问题?

标签: pythonvirtualenvpyenv

解决方案


好的,我现在发现了。它必须像这样链接到 python 二进制文件:

virtualenv --python=/Users/user/.pyenv/versions/3.7.7/bin/python ~/.virtualenvs/my-project

它与 brew 安装版本一起使用的原因是它/usr/bin/python2.7实际上是一个符号链接而不是一个文件夹。


推荐阅读