生産環境がcentos7を放棄することはできませんので、最近の努力は、のpython3にpython2から自分のプロジェクトを置くために、私たちはcentos7上のpython3をインストールする必要がありました。python3ソフトの接続にのpython3、Pythonコマンドをインストールしたのですが、また、PIPのバージョンのpython3をピップを指します。すべてがうまくいっているが、uwsgi Webサービスでのみ開始Djangoは問題発見:ディスプレイへのログのuwsgi側メイドサービスが開始されていますが、インタフェース500に答礼訪問、:見つかりませPythonアプリケーションを。
前にあまりにも多くの時間を持つnginxの+ uwsgi + Djangoのモデル、問題はないああ、なぜ問題に環境へのpython3?私の環境では、ああ、ほぼ同じに設定する必要があり、そしてすべてのモジュールはのpython3ああをダウンロードする環境でもあります。
もう一度私のプロフィールをチェックします:
[uwsgi]
socket = 127.0.0.1:3031
chdir = /opt/testproj/
wsgi-file = testproj/wsgi.py
processes = 4
threads = 2
どのような問題がああを感じませんでした。のみ、このようなエラーを見て、だから私は慎重にログuwsgi出力側の見直しを始め、その後、楽しみにしています:
*** Operational MODE: preforking+threaded ***
Traceback (most recent call last):
File "testproj/wsgi.py", line 12, in <module>
from django.core.wsgi import get_wsgi_application
ModuleNotFoundError: No module named 'django'
unable to load app 0 (mountpoint='') (callable not found or import error)
*** no app loaded. going in full dynamic mode ***
Djangoのモジュールが見つかりませんか?ちょうど錯覚が、実際には、今ジャンゴをuwsgiオリジナルの打ち上げ成功は、このモジュール、確か500上のサービスを見つけられませんでした。
しかし、なぜジャンゴモジュールにそれを見つけることができませんか?uwsgiとDjangoは、これはpython2がcentos7ものの、ああですが、ちょうど通常の使用はyumを作るためにもああをインストールするには、ピップのpython3を禁じます。
唯一見つけるために、食事を探して、インターネットでは、uwsgiは本当にこれはpython2とのpython3共存システム上で起動時にモジュールジャンゴuwsgiコマンドpython2環境が起動するので、少し問題が発見されることはありません、少し特殊です。リポジトリ環境の缶に必要な設定ファイルを指定する必要があります。
だから、場所のDjangoのインストールを確認することができピップショーを使用して、Djangoの環境を探し始めます。
[root@knktc testproj]# pip show django|grep -i location
Location: /usr/local/lib64/python3.6/site-packages
ところで、パスpytzも見て:
[root@knktc testproj]# pip show pytz|grep -i location
Location: /usr/local/lib/python3.6/site-packages
これら二つの経路を使用して、PYTHONPATHはuwsgiプロファイルは以下のように変更され、パラメータコンフィグレーションファイルに追加されます。
[uwsgi]
socket = 127.0.0.1:3031
chdir = /opt/testproj/
wsgi-file = testproj/wsgi.py
processes = 4
threads = 2
pythonpath = /usr/local/lib64/python3.6/site-packages
pythonpath = /usr/local/lib/python3.6/site-packages
試しに再起動します。
uwsgi --ini uwsgi.ini
一切正常!