![](/img/trans.png)
[英]uwsgi + Flask + virtualenv ImportError: no module named site
[英]Django, uwsgi, nginx, virtualenv, ImportError: No module named site
我有一個Django應用程序和一個虛擬環境,我嘗試在nginx + uwsgi下運行它。 我按照這里描述的那樣配置了整個系統。 我也有CentOS 7。
但是,我得到了着名的“ImportError:No module named site”。 這里沒有關於堆棧溢出的其他主題幫我解決了這個問題。
在uwsgi的日志中,我有以下兩行:
Set PythonHome to /hedgehog/.virtualenv/hedgehog
ImportError: No module named site
/etc/uwsgi/sites/hedgehog.ini:
[uwsgi]
project = hedgehog
username = hedgehog
base = /var/www/%(username)/code
chdir = /var/www/hedgehog/code
home = /%(username)/.virtualenv/%(username)
module = %(username).wsgi:application
master = true
processes = 5
uid = %(username)
socket = /run/uwsgi/%(project).sock
chown-socket = %(username):nginx
chmod-socket = 660
vacuum = true
logto = /var/www/%(username)/log/uwsgi.log
/etc/systemd/system/uwsgi.service:
[Unit]
Description=uWSGI Emperor service
[Service]
ExecStartPre=/usr/bin/bash -c 'mkdir -p /run/uwsgi; chown hedgehog:nginx/run/uwsgi'
ExecStart=/usr/bin/uwsgi --emperor /etc/uwsgi/sites
Restart=always
KillSignal=SIGQUIT
Type=notify
NotifyAccess=all
[Install]
WantedBy=multi-user.target
該應用程序位於/ var / www / hedgehog / code中。
似乎uwsgi不知何故不使用virtualenv。 我已經嘗試將其添加到ini文件中:
plugins = python
virtualenv = %(home)
它沒有幫助。
但是,如果我在這個virtualenv中運行python解釋器中的“import site”,它就不會出錯:
[rreimche@rreimche-web sites]$ sudo -u hedgehog -H bash -l
[sudo] password for rreimche:
[hedgehog@rreimche-web sites]$ python
Python 2.7.5 (default, Jun 24 2015, 00:41:19)
[GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import site
>>> exit()
我有同樣的錯誤和錯誤:我錯誤地使用了Python3 virtualenv。 一旦我使用了Python2.7 virtualenv就可以了。
干杯
您不需要在配置中使用virtualenv條目,因為它與home條目的選項相同。 /%(username)/.virtualenv/%(username)應解析為/hedgehog/.virtualenv/hedgehog。 ls -l /hedgehog/.virtualenv/hedgehog說什么? 您可能還想檢查您是否正在為正在使用創建virtualenv的python版本加載python插件。 請粘貼更多日志,可能會有更多關於錯誤的提示。
當我將virtualenv切換為使用Python 3時,這也發生在我身上,它在Python 2.7下運行良好。 這是我如何解決它:
更換
plugins = python
同
plugins = python3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.