Lubuntu 16.04下Python virtualenv无法激活问题求助
解决Lubuntu 16.04中虚拟环境激活无反应的问题
嘿,我来帮你搞定这个虚拟环境激活后提示符没变化的问题~结合你描述的操作,大概率是运行激活脚本的方式不对,或者shell环境不匹配,下面是具体排查和解决步骤:
用
source命令运行激活脚本
直接执行./env3/bin/activate会在子shell中运行脚本,执行完子shell就退出了,当前shell环境不会有任何变化。你需要用source命令(或者缩写.)让脚本在当前shell环境中生效:source ./env3/bin/activate # 或者更简洁的写法 . ./env3/bin/activate执行后应该就能看到提示符变成
(env3) me@machine:/some_path$了。检查当前shell类型,匹配对应激活脚本
如果用source还是没反应,先看看你当前用的是什么shell:echo $SHELL如果输出是
/bin/zsh、/usr/bin/fish这类非bash的shell,virtualenv其实已经生成了对应shell的激活脚本,你需要运行对应的版本:- zsh用户:
source ./env3/bin/activate.zsh - fish用户:
source ./env3/bin/activate.fish
- zsh用户:
验证激活脚本的执行权限
虽然virtualenv创建时通常会自动给activate脚本加上执行权限,但也有可能出现异常。你可以检查一下权限:ls -l ./env3/bin/activate如果输出里没有
x权限(比如权限是rw-r--r--),就手动加上执行权限:chmod +x ./env3/bin/activate之后再用
source命令尝试激活。确认Python3路径的正确性
有时候系统里可能存在多个Python3版本,导致创建虚拟环境时路径不匹配。你可以先确认系统中Python3的绝对路径:which python3然后用这个绝对路径重新创建虚拟环境试试:
virtualenv -p /usr/bin/python3 env3_new再用
source激活新创建的env3_new,看是否能正常显示提示符。
内容的提问来源于stack exchange,提问作者Ebram Shehata
相关产品推荐
相关产品推荐

