如果有帮助,我的操作系统是Ubuntu 18.04。

我尝试使用pip安装。 它一直说成功了,但这是结果:

1
2
Requirement already satisfied: django in /usr/local/lib/python2.7/dist-packages (1.11.17)
Requirement already satisfied: pytz in /usr/local/lib/python2.7/dist-packages (from django) (2014.10)

现在,我尝试升级它,但仍然显示相同的错误。

我尝试使用pip3。 它成功,但是当我尝试在python 3.0上导入它时,显示此错误:

1
ModuleNotFoundError: No module named 'django'

我也尝试使用virtualenv安装。 它仍然不起作用。

如果有帮助,这是我尝试使用pip3进行安装时显示的错误:

1
2
Requirement already satisfied: django in ./pgadmin4/lib/python3.6/site-packages (2.1.4)
Requirement already satisfied: pytz in ./pgadmin4/lib/python3.6/site-packages (from django) (2018.3)

你可以试试这个只是为了测试吗
如果要在虚拟环境中使用

在新目录中启动新项目

1
2
mkdir djangoTest
cd djangoTest

创建名为venv的新环境

1
python3 -mvenv venv

然后激活它

1
source venv/bin/activate

在其中安装django(您必须在venv中使用Always pip而不是pip3)

1
pip install django

并创建名为testDjango的django项目

1
2
django-admin startproject testDjango
cd testDjango

在其中创建新应用

1
python manage.py startapp testApp

最后尝试运行服务器

1
python manage.py runserver

如果需要,可以直接删除现有的依赖项。如果Django已经存在,只需使用pip3卸载它,然后重新安装即可。我在TensorFlow上遇到了同样的问题。我进行了干净的卸载,然后使用TensorFlow滚轮进行了新安装。

1
pip3 uninstall django

您可以查看此问题以获取更多详细信息。

最理智的设置是在virtualenv环境中安装django。

在您的项目目录中,执行以下操作:

1
2
3
python3 -mvenv venv
. ./venv/bin/activate
pip install django

请注意,激活virtualenv时,会将pythonpipvirtualenv添加到PATH,因此您不必担心使用python3pip3。并且您所有的软件包都将安装在./venv下,并且与系统中的其他所有对象完全隔离。

要停用当前外壳程序中的virtualenv,请运行deactivate
只是不要忘了每次要在Django项目上工作时都要重新运行. ./venv/bin/activate

  • python2.7不是pip吗? 我相信它适用于python3.6 +的pip3。
  • @kokeen如果您只是说"点子",那可以是任何东西。 它可以是pip3的别名。 在我给出的示例中,它将是.venvbinpip,因此是venv的适当版本,与用于创建它的Python二进制版本(在本示例中为python3)匹配。
  • 哦,那很有道理。 我提到它是因为我开始使用python3时会遇到错误,因为我比pip3更习惯于pip3。
  • @kokeen使用Python时,最好创建一个这样的虚拟环境,然后您不必担心版本。 您可以独立地使用不同版本的依赖项和Python解释器本身来拥有完全隔离的项目。 您只需要记住每次使用前都要运行激活脚本。
  • 是的,那就是我现在要做的。 谢谢!