我在Ubuntu 21.04软件上安装了Django,但当我使用时
python manage.py runserver
我得到一个错误消息:没有名为"Django"的模块但当我使用:
python3 manage.py runserve
它运行良好,但我的python版本是3.10.1,python3-版本是3.9.x那么错误是什么,以及我如何使用python而不是python3 运行它
这里的问题是python
和python3
命令总共指向两个不同的Python安装/环境。
看起来您在Python 3.9.x环境中安装了Django(您可以通过键入python3
来访问该环境(。
另一方面,您的Python 3.10.1环境(您通过编写python
访问该环境(似乎没有安装Django。
pip
/pip3
命令有时会令人困惑,并且可能指向与您认为的不同的Python安装。这完全取决于您如何在机器中设置Python环境。
为了访问特定Python环境的pip
,最好的方法是将其作为模块运行,例如:
python -m pip [...]
这保证了您使用的pip
与您使用python
命令调用的Python环境相关联。
因此,为了在Python 3.10.1环境中安装Django,您需要运行:
python -m pip install django
如果使用PIP3安装模块,它将仅为Python3安装。如果使用PIP安装模块,系统将使用PATH变量中第一个列出的Python版本。
您的机器上有多个Python实例。为了避免将来出现这样的问题,如果在通用设备上运行代码,通常建议在Python中使用Virtualenv。(并且在您的机器上有多个Python实例(
为了配置运行以下命令的Virtualenv:
sudo apt install python3-venv python3-pip
python3 -m venv venv
然后激活虚拟环境:source venv/bin/activate
一旦激活了虚拟环境,您就可以在这个特定的虚拟环境中安装Python模块,这样您就不必遇到您所描述的问题:
pip install django
然后如果你运行:
CCD_ 14,那么它将在特定虚拟环境的上下文中运行。
我知道这不是你问题的直接答案,但我相信这将有助于你在未来避免此类问题。