使用Django runserver错误

时间:2018-06-01 14:21:18

标签: python django linux python-3.x ubuntu

我在Ubuntu 18.04中开始使用Python-Django。

我安装了python3。

python3 --versionPython 3.5.2

安装Python之后,我按如下方式安装了Django:

sudo apt install python3-pip
pip3 install django

我也安装了Django。

django-admin --version2.0.5

在我的项目中, startproject 成功运行,但当我尝试在项目中运行以下命令时:

python3 manage.py runserver

它出现以下错误:

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'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "manage.py", line 14, in <module>
    ) from exc
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

以下命令也会出错:

python3 -c "import django; print(django.__path__)"

错误是:

python3 -c "import django; print(django.__path__)"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named 'django'

which django提供空白输出

echo $PYTHONPATH提供空白输出

python3 -m django --version/usr/local/bin/python3: No module named django

echo $PATH显示/home/shobhit/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

问题是什么?解决方案是什么?

更新

ls /usr/local/lib | grep python说

  

libpython3.5m.a

     

python3.5

     

python3.6

2 个答案:

答案 0 :(得分:4)

我认为路径存在问题。

强烈建议使用虚拟环境进行所有django开发。

您可以按照以下流程操作:

安装pip3

sudo apt-get install python3-pip

安装Python3的虚拟环境

sudo pip3 install virtualenv

创建项目目录

mkdir ~/newproject
cd ~/newproject

创建新的虚拟环境并将其激活

virtualenv .venv
source .venv/bin/activate

现在安装Django

pip install django

然后创建项目并启动

django-admin startproject my_project

cd my_project

python manage.py runserver

它应该以这种方式工作。

答案 1 :(得分:0)

我还发现,如果您使用的是PyCharm,则可以转到配置-> 对于manage.py,将runserver 8080添加到您的参数中,这将在您通过Pycharm开始按钮运行manage.py时起作用。

针对我的特定计算机的另一种解决方案是重新启动它并重新运行pycharm,在终端机中输入 python manage.py runserver 8080 对我有用。 这是在我有相同的确切错误之后.....非常烦人和令人困惑。