问题描述
阿里云ECS服务器,CentOS8系统,自带Python3.6.10。使用的是anaconda3虚拟环境,使用的是Python3.6.8。使用pip3安装了很多包,也安装了Django。
但启动项目时报错,错误信息如下:
from django.core.management import execute_from_command_line
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'django'
排查过程
1、分别使用pip freeze和pip3 freeze查看了下安装包。pip3下安装了Django,pip下未安装。
2、分别看了下pip和pip3的版本,发现两个的位置居然不同,pip在虚拟环境下,pip3在anaconda3/lib目录下。
(envdf) [jojo@iZ8vb9xlla82qbtg3sg06gZ ~]$ pip --version
pip 20.0.2 from /home/jojo/anaconda3/envs/envdf/lib/python3.6/site-packages/pip (python 3.6)
(envdf) [jojo@iZ8vb9xlla82qbtg3sg06gZ ~]$ pip3 --version
pip 20.1.1 from /home/jojo/anaconda3/lib/python3.6/site-packages/pip (python 3.6)
疑问:为什么虚拟环境里的是pip?不是pip3?
解决办法
1、在虚拟环境中使用pip install django安装即可
2、使用conda install anaconda安装anaconda发行版中所有的包