python - virtualenv 选择 python 版本给出权限被拒绝错误
问题描述
我想指定 virtualenv 的 python 版本。我已经安装了 python2.7
并3.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 明确地安装任何这些东西。我该如何解决这个问题?
解决方案
好的,我现在发现了。它必须像这样链接到 python 二进制文件:
virtualenv --python=/Users/user/.pyenv/versions/3.7.7/bin/python ~/.virtualenvs/my-project
它与 brew 安装版本一起使用的原因是它/usr/bin/python2.7
实际上是一个符号链接而不是一个文件夹。
推荐阅读
- node.js - 使用 express 生成器时出现路由错误
- algorithm - 找到最大的连续段算术级数
- python - 无法安装 python-weka-wrapper
- javascript - 如何在用户当前键入时从用户那里获取数据?
- javascript - 如何删除或过滤数组中的特定对象
- react-native - 将多个数据传递到下一个场景
- laravel - 通过子域运行回显服务器时连接到套接字通道时出错
- r - 两个相同的操作产生不同结构的输出
- flutter - 被 Youtube Player Flutter 覆盖的锁定方向
- flutter - inject-dart 无法快照构建脚本 .dart_tool/build/entrypoint/build.dart。这可能是由错误配置的构建器定义引起的