使用 Python3 安装 Django 时出现问题

Problems with installing Django with Python3

我已经安装了virtualenv

sudo pip3 install virtualenv

然后创建了一个新的virtualenv

virtualenv --python=/usr/bin/python3.5 venv

返回

Running virtualenv with interpreter /usr/bin/python3.5
Using base prefix '/usr'
New python executable in /home/alexandra/Documents/online-store/venv/bin/python3.5
Also creating executable in /home/alexandra/Documents/online-store/venv/bin/python
Installing setuptools, pip, wheel...done.

激活它

source venv/bin/activate

然后安装Django

sudo pip3 install django

它安装在那里(即 sudo pip3 install django --upgrade 返回的内容)

/usr/local/lib/python3.4/dist-packages

也许这就是问题所在?因为它安装在 python3.4 而不是 python3.5。但是如何在python3.5中安装Django

在文件 manage.py 中有一个到此 virtualenv 中 python3.5 的路径。

那我运行

python manage.py runserver

它returns一个错误

Traceback (most recent call last):
  File "manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
ImportError: No module named 'django'

谁能帮帮我?

当使用 pip 在虚拟环境中安装包时,不要 sudo。它使软件包在全球范围内安装。只需从命令的开头删除 sudo,它就会将其安装在您当前正在使用的 venv 中。

您将 django 安装到系统中 python 3.4.

当您 运行 第一次安装命令时没有使用 sudo,它是否抱怨权限问题?那应该是你的线索,表明它不正确 pip。我的猜测是 pip3 只存在于系统 python 而不是你的 virtualenv。您可以使用 which 来查找,但这在任何情况下都有效:

venv/bin/pip install django

不要执行 sudo,只需使用 pip 来安装所有软件包。您已经在 virtualenv 中安装了 python3,因此无需使用 pip3。 只是做例如pip install django。或其他包 pip install <package_name>