1

UbuntuサーバーでPythonを2.7にアップグレードし、Djangoを1.4に再インストールしました。python flupを使用してDjangoアプリケーションをfastcgiとして実行していますが、アプリケーションを再起動しようとすると、*という名前のモジュールがないと表示され続けます。

例えば

File "./manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
...
File "/usr/local/lib/python2.7/dist-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
ImportError: No module named *

この問題は、古いDjango(1.3)プロジェクトのmanage.pyファイルによって開始されましたが、ドキュメントhttps://docs.djangoproject.com/en/dev/releases/1.4/#updated-default-project-layout-によるとおよび-manage-py

それが私がpython-flupを使ってプロジェクトを実行する方法です

exec python ./manage.py runfcgi host=127.0.0.1 port=8083 maxchildren=40 pidfile=$PIDFILE --settings=expand.settings

古いスタイルのmanage.pyは、Django1.6まで以前と同じように機能し続けます。1.5では、DeprecationWarningが発生します

4

1 に答える 1

1

django のソース コードを見て、プロジェクトのレイアウトまたは Python パスのいずれかに問題があると推測しています。

execute_from_command_line(sys.argv)

次のスニペット (django/core/management/ init .py から) を実行します。これがエラーの原因である可能性が最も高いです。

# Import the project module. We add the parent directory to PYTHONPATH to
# avoid some of the path errors new users can have.
sys.path.append(os.path.join(project_directory, os.pardir))
import_module(project_name)
sys.path.pop()
于 2012-05-23T09:55:08.580 に答える