无root权限安装用户级virtualenv后创建环境遇FileNotFoundError的解决办法
解决用户级安装virtualenv后创建虚拟环境失败的问题
这种情况我之前也碰到过,大概率是用户级安装的virtualenv和你的Python 3.6版本存在兼容性问题,或是安装过程中部分依赖文件没有正确部署到用户目录里。给你几个可行的解决办法:
方法1:改用Python自带的venv模块(最推荐)
从Python 3.3开始,标准库就自带了venv模块,无需额外安装virtualenv,完全能满足虚拟环境的需求,还不会有路径兼容问题。直接执行:
python3 -m venv testenv
创建完成后,激活虚拟环境的方式和virtualenv一致:
- Linux/macOS:
source testenv/bin/activate - Windows(使用Git Bash等终端):
testenv/Scripts/activate
方法2:直接调用virtualenv的完整可执行路径
你用--user安装的virtualenv,其可执行文件通常在用户目录的~/.local/bin下。直接用完整路径执行创建命令即可:
~/.local/bin/virtualenv testenv
如果不想每次都输长路径,还可以把~/.local/bin加入环境变量PATH:
编辑你的~/.bashrc或~/.zshrc(根据你使用的Shell),添加一行:
export PATH="$HOME/.local/bin:$PATH"
执行source ~/.bashrc(或对应配置文件)让修改生效,之后就能直接用virtualenv命令了。
方法3:重新安装兼容Python 3.6的virtualenv版本
Python 3.6属于较老版本,最新的virtualenv可能已不再支持它。你可以指定一个兼容的旧版本安装:
pip3 install --user virtualenv==16.7.10
这个版本是已知支持Python 3.6的,安装完成后再尝试创建虚拟环境:
python3 -m virtualenv testenv
方法4:调整Python模块搜索路径
有时候pip3 --user安装的包路径不在Python的模块搜索范围内,先查看virtualenv的安装位置:
pip3 show virtualenv | grep Location
把得到的路径加入PYTHONPATH:
export PYTHONPATH="$(pip3 show virtualenv | grep Location | awk -F': ' '{print $2}'):$PYTHONPATH"
之后再执行python3 -m virtualenv testenv试试。
内容的提问来源于stack exchange,提问作者Kound
相关产品推荐
相关产品推荐

