已安装virtualenv却提示路径中找不到,Django环境搭建遇阻
我之前也碰到过这个糟心的问题,尤其是在搭配Python 3.6和virtualenvwrapper的时候,给你几个亲测有效的排查和解决步骤:
先确认virtualenv是否真的在系统PATH里
先运行pip3 show virtualenv,查看输出里的Location字段,它会告诉你virtualenv的安装目录(比如~/.local/lib/python3.6/site-packages或者/usr/local/lib/python3.6/site-packages)。对应的可执行文件一般在同级的bin目录下,比如~/.local/bin或者/usr/local/bin。
接着运行echo $PATH,看看这个bin目录是否在输出里。如果没找到,就把它添加到shell配置文件里:# 如果你用bash,执行这个 echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc # 如果你用zsh,执行这个 echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc最后重启终端,或者运行
source ~/.bashrc(对应你的shell)让配置生效。手动指定virtualenvwrapper的VIRTUALENV路径
有时候virtualenvwrapper找不到virtualenv,是因为它没明确指向可执行文件的位置。先通过which virtualenv找到它的绝对路径(比如~/.local/bin/virtualenv),然后把这个路径写入shell配置:echo 'export VIRTUALENV="/path/to/your/virtualenv"' >> ~/.bashrc # 同时确保virtualenvwrapper.sh的路径正确,比如: echo 'source /usr/local/bin/virtualenvwrapper.sh' >> ~/.bashrc同样执行
source ~/.bashrc生效后,再尝试mkvirtualenv这类命令。验证Python版本的对应性
确保你用的virtualenv是Python3.6对应的版本,而不是系统默认的Python2版本。运行virtualenv --version,如果输出里关联的Python不是3.6,就重新用pip3安装:pip3 uninstall virtualenv pip3 install virtualenv排查权限问题
如果virtualenv装在系统级目录(比如/usr/local/bin),可能普通用户没有执行权限。运行ls -l /usr/local/bin/virtualenv,检查输出里的权限位是否包含x(执行权限)。如果没有,就执行:sudo chmod +x /usr/local/bin/virtualenv
按这个顺序一步步试,大概率前两步就能解决问题。
内容的提问来源于stack exchange,提问作者Human Cyborg Relations

