django、python、postgres 和网络部署
django, python, postgres and web deployment
这个错误一直困扰着我。我实际上已经开发了修复程序并记录了它,并且我成功地 运行 以下 IP 地址上的服务器。重新安装 Ubuntu OS 后,我尝试重现我的成功...出现相同的错误,相同的修复程序将不再执行...现在我需要外部帮助。我已经梳理了互联网的解决方案。我尝试将 django 添加到 PYTHONPATH 并且它已添加但是当我退出 python 解释器时附加的 django 路径消失了!
另一项可能有帮助的细节是我的网站 www.doman.com/admin 指向 django 管理员登录屏幕。我尝试使用用户名和密码登录,但失败了,这让我觉得 django 无法正常工作。
$ sudo python3 manage.py runserver 192.165.4.3:80
我收到错误:
Traceback (most recent call last):
File "manage.py", line 8, in <module>
from django.core.management import execute_from_command_line
ModuleNotFoundError: 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?
Django 安装在我的环境中:
$ django-admin --version
2.0.6
Python 路径尝试:
$ PYTHONPATH=/home/kap/dev_env/lib/python3.6/site-packages/django python
Python 3.6.5 (default, Apr 1 2018, 05:46:30)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> sys.path
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'sys' is not defined
>>> import sys
>>> sys.path
['', '/home/kap/dev_env/lib/python3.6/site-packages/django', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/kap/dev_env/lib/python3.6/site-packages']
>>> quit()
立即确认添加了 django 但它消失了:
$ python3
Python 3.6.5 (default, Apr 1 2018, 05:46:30)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/kap/dev_env/lib/python3.6/site-packages']
试试这个:
sudo python3 -m pip install django
或者如果您有 requirements.txt
sudo python3 -m pip install -r requirements.txt
最好用nginx管理80端口
sudo 绕过你的虚拟环境,它 运行s 作为 root 用户并且 django 没有安装在 root 帐户中。这就是它抛出错误的原因。你可以 运行 没有 sudo 或者你可以通过
在你的根帐户中安装 django
sudo python3 -m pip install django
我居然在别人发之前就解决了:
`pip install django`
是我用的。更具体地说,我使用 'pip install django psycopg2 and gunicorn' 因为将所有三个安装在一起似乎可以解决另一个问题。我使用的是 pip3 而不是 pip。 'sensitivities' 如此之多,以至于安装顺序、安装的特定标志和包版本可能会破坏或完成整个过程。我正在考虑制作一个教程并把视频放到网上。也许我可以在这个页面上设置一个link。
考虑 pipenv
- git 回购是 here,并提供更多信息。更好地控制包,易于部署,更好地控制虚拟环境。
这个错误一直困扰着我。我实际上已经开发了修复程序并记录了它,并且我成功地 运行 以下 IP 地址上的服务器。重新安装 Ubuntu OS 后,我尝试重现我的成功...出现相同的错误,相同的修复程序将不再执行...现在我需要外部帮助。我已经梳理了互联网的解决方案。我尝试将 django 添加到 PYTHONPATH 并且它已添加但是当我退出 python 解释器时附加的 django 路径消失了!
另一项可能有帮助的细节是我的网站 www.doman.com/admin 指向 django 管理员登录屏幕。我尝试使用用户名和密码登录,但失败了,这让我觉得 django 无法正常工作。
$ sudo python3 manage.py runserver 192.165.4.3:80
我收到错误:
Traceback (most recent call last):
File "manage.py", line 8, in <module>
from django.core.management import execute_from_command_line
ModuleNotFoundError: 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?
Django 安装在我的环境中:
$ django-admin --version
2.0.6
Python 路径尝试:
$ PYTHONPATH=/home/kap/dev_env/lib/python3.6/site-packages/django python
Python 3.6.5 (default, Apr 1 2018, 05:46:30)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> sys.path
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'sys' is not defined
>>> import sys
>>> sys.path
['', '/home/kap/dev_env/lib/python3.6/site-packages/django', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/kap/dev_env/lib/python3.6/site-packages']
>>> quit()
立即确认添加了 django 但它消失了:
$ python3
Python 3.6.5 (default, Apr 1 2018, 05:46:30)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/kap/dev_env/lib/python3.6/site-packages']
试试这个:
sudo python3 -m pip install django
或者如果您有 requirements.txt
sudo python3 -m pip install -r requirements.txt
最好用nginx管理80端口
sudo 绕过你的虚拟环境,它 运行s 作为 root 用户并且 django 没有安装在 root 帐户中。这就是它抛出错误的原因。你可以 运行 没有 sudo 或者你可以通过
在你的根帐户中安装 djangosudo python3 -m pip install django
我居然在别人发之前就解决了:
`pip install django`
是我用的。更具体地说,我使用 'pip install django psycopg2 and gunicorn' 因为将所有三个安装在一起似乎可以解决另一个问题。我使用的是 pip3 而不是 pip。 'sensitivities' 如此之多,以至于安装顺序、安装的特定标志和包版本可能会破坏或完成整个过程。我正在考虑制作一个教程并把视频放到网上。也许我可以在这个页面上设置一个link。
考虑 pipenv
- git 回购是 here,并提供更多信息。更好地控制包,易于部署,更好地控制虚拟环境。