安装Django后无法找到程序,疑与版本或virtualenv使用有关
解决虚拟环境中Django安装后"找不到"的问题
首先得给你澄清一个误区:你用ls找不到Django是完全正常的——因为Django不是安装在当前工作目录里,而是被放到了虚拟环境的Python包专属目录中!咱们一步步来排查和解决你的问题:
第一步:先确认虚拟环境是否激活
这是新手用virtualenv最容易踩的坑!你创建完虚拟环境后,有没有激活它?
- 在macOS/Linux系统上,激活命令是:
source myenv/bin/activate - Windows系统则是:
myenv\Scripts\activate
激活成功后,你的终端提示符前面会出现(myenv)的前缀,这时候再执行安装命令,包才会被装到这个虚拟环境里;如果没激活,默认还是用系统全局的Python环境。
第二步:验证Django是否真的安装成功
别用ls啦,用Python相关命令来确认:
- 激活虚拟环境后,运行
python -m django --version,如果输出2.0.1,说明安装完全没问题。 - 也可以执行
pip list,它会列出当前环境下所有已安装的包,你肯定能看到Django和pytz的条目。
第三步:关于"非虚拟环境安装结果一致"的解释
哪怕在系统全局环境安装Django,用ls也找不到——因为包同样是存在系统Python的site-packages目录里,不是当前工作目录。你可以用pip3 show django命令查看具体安装路径,输出会类似这样:
Name: Django Version: 2.0.1 Location: /usr/local/lib/python3.8/site-packages
这就说明它确实已经装到系统环境里了。
第四步:尝试安装Django 1.11版本的正确操作
如果你想排查版本问题,建议在激活的虚拟环境里操作,避免污染系统全局环境:
- 重新激活虚拟环境:
source myenv/bin/activate(macOS/Linux) - 先卸载已安装的Django:
pip uninstall django - 安装1.11版本:
pip install django~=1.11.0 - 最后验证版本:
python -m django --version,应该会显示1.11.x的对应版本。
最后再提醒一句:虚拟环境的核心价值就是隔离不同项目的依赖,一定要记得激活后再进行包的安装/卸载操作哦!
内容的提问来源于stack exchange,提问作者Ari Davidow
相关产品推荐
相关产品推荐

