我試圖寫一個腳本(使用Apache的mod_wsgi)開始在我的生產環境中的服務器引用:Django的manage.py runserver命令失敗,陌生的臨時PIP編譯目錄
#!/bin/bash
#activate virtualenv
source ~/.virtualenvs/myproj/bin/activate
# install possibly changed requirements
echo "Checking changed dependencies..."
pip3 install --no-cache-dir -r /opt/myDjangoProj/requirements.txt
deactivate
# run server
echo "Starting django server ..."
#export DJANGO_SETTINGS_MODULE='myDjangoProj.settings.production'
~/.virtualenvs/myproj/bin/python3 /opt/myDjangoProj/manage.py runserver 8000 --settings myDjangoProj.settings.production
不過,我alwas得到這個堆棧跟蹤:(安裝要求正常工作,所以我忽略它)
Starting django server ...
Traceback (most recent call last):
File "/opt/myDjangoProj/manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/localadm/.virtualenvs/myproj/lib/python3.2/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
utility.execute()
File "/home/localadm/.virtualenvs/myproj/lib/python3.2/site-packages/django/core/management/__init__.py", line 312, in execute
django.setup()
File "/home/localadm/.virtualenvs/myproj/lib/python3.2/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/localadm/.virtualenvs/myproj/lib/python3.2/site-packages/django/apps/registry.py", line 115, in populate
app_config.ready()
File "/tmp/pip-build-w8vru4/Django/django/contrib/admin/apps.py", line 22, in ready
File "/tmp/pip-build-w8vru4/Django/django/contrib/admin/__init__.py", line 24, in autodiscover
目錄/ tmp/PIP-集結w8vru4 /實際上並不存在。你有什麼想法可能是什麼問題?
[不要在生產環境中使用runserver!](https://docs.djangoproject.com/en/1.8/ref/django-admin/#runserver-port-or-address-port) – Alasdair
使用modwsgi包: https://pypi.python.org/pypi/mod_wsgi。 您可以按照說明並通過virtualenv命令啓動服務器:'mod_wsgi-express start-server'。 – Maikflow
從'.pyc'文件加載'Django/django/contrib/admin/apps.py'嗎?如果是這樣,那可能是不存在的目錄出現的原因。根據它們的編譯方式,'.pyc'文件可以記住'.py'文件的原始路徑,即使它不再存在。 –