2017-10-23 1 views
0

私はにhttpdでDjangoプロジェクトを展開しています。そして、システムのデフォルトのpythonバージョンをpython 3.4に変更しました。しかし、httpdを再起動しても、まだPython 2.7が使われていました。httpdとmod_wsgiが間違ったpythonバージョンで実行されました

私は多くを検索しました。それは主に、mod_wsgiが間違ったpythonバージョンで構築されたためです。しかし、私はmod_wsgiがpython 3.4の下にインストールされていることを確認しました。

正しいpythonバージョンで実行する方法を知っていますか? httpdがデフォルトのpythonバージョンを持っているかどうかはあまり確かではありません。あなたの助けをありがとう!

Error Stack trace: No module named embed

+0

virtualenvを使用していますか? –

+0

いいえ、私はvirtualenvを使用しませんでした。なぜなら私はこのサーバにpython3.4しか使用しないからです。私はmod_wsgiモジュールをhttpdにロードしなかったためだとわかりました...私はサーバへのsudoアクセス権がないので、mod_wsgiをhttpdに直接設定することはできません... – forevermio

答えて

0

私はちょうど私がのhttpd confファイルに「wsgi_module」をロードしませんでしたし、それが原因だったことがわかります。 LoadModuleをhttpd.confファイルに追加するには、こちらの指示https://github.com/GrahamDumpleton/mod_wsgiに従ってください。正しいPythonバージョンで動作するように私の問題を解決します! "USR /"
WSGIPythonHome "/usr/lib64/python3.4/site-packages/mod_wsgi/server/mod_wsgi-py34.cpython-34m.so"
のLoadModule wsgi_module
しかし、私はそれが表示されていること、それは奇妙な感じ'モジュールwsgi_moduleはすでに読み込まれていますが、スキップしています'これらの行をコメントすると、python2.7で再度実行されます。

+0

Btw、wsgi.confが見つかりました/etc/httpd/conf.modules.d LoadModule wsgi_module modules/mod_wsgi.soにあります。私はおそらくそれが正しい経路に指し示される必要があると思う。 – forevermio

+0

システムパッケージを使用してインストールされたmod_wsgiを最初に無効にする必要があります。 –

関連する問題