IOError: [Errno 2] No such file or directory: '/var/www/.virtualenvs/exampleenv/bin/activate_this.py")
IOError: [Errno 2] No such file or directory: '/var/www/.virtualenvs/exampleenv/bin/activate_this.py")
我已经使用 virtualenv 在 vps 上部署了一个 django 应用程序。下面是放在/var/www/example.wsgi
的wsgi文件内容
import os
import sys
import site
# Add the site-packages of the chosen virtualenv to work with
site.addsitedir('~/.virtualenvs/exampleenv/local/lib/python2.7/site-packages')
# Add the app's directory to the PYTHONPATH
sys.path.append('/var/www/example')
sys.path.append('/var/www/example/example')
os.environ['DJANGO_SETTINGS_MODULE'] = 'example.settings'
# Activate your virtual env
activate_env=os.path.expanduser("~/virtualenvs/exampleenv/bin/activate_this.py")
execfile(activate_env, dict(__file__=activate_env))
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
但是 error.log 文件显示以下错误。
IOError: [Errno 2] No such file or directory: '/var/www/.virtualenvs/exampleenv/bin/activate_this.py")
它正在 /var/www 中寻找 virtualenv 而不是 ~/.virtualenv/.....
我已经检查了 exampleenv 的路径存在于 ~/.virtualenvs/exampleenv
该应用程序可能 运行 作为不同的用户(主目录是 /var/www/
),因此 expanduser
函数将使用它的主目录而不是您的主目录。
将其他用户的文件放在您的主目录中不是一个好习惯。尝试将 virtualenv 放入 /var/www/<your_app>/.venv
或 /var/www/.<your_app>_venv
.
我已经使用 virtualenv 在 vps 上部署了一个 django 应用程序。下面是放在/var/www/example.wsgi
的wsgi文件内容import os
import sys
import site
# Add the site-packages of the chosen virtualenv to work with
site.addsitedir('~/.virtualenvs/exampleenv/local/lib/python2.7/site-packages')
# Add the app's directory to the PYTHONPATH
sys.path.append('/var/www/example')
sys.path.append('/var/www/example/example')
os.environ['DJANGO_SETTINGS_MODULE'] = 'example.settings'
# Activate your virtual env
activate_env=os.path.expanduser("~/virtualenvs/exampleenv/bin/activate_this.py")
execfile(activate_env, dict(__file__=activate_env))
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
但是 error.log 文件显示以下错误。
IOError: [Errno 2] No such file or directory: '/var/www/.virtualenvs/exampleenv/bin/activate_this.py")
它正在 /var/www 中寻找 virtualenv 而不是 ~/.virtualenv/.....
我已经检查了 exampleenv 的路径存在于 ~/.virtualenvs/exampleenv
该应用程序可能 运行 作为不同的用户(主目录是 /var/www/
),因此 expanduser
函数将使用它的主目录而不是您的主目录。
将其他用户的文件放在您的主目录中不是一个好习惯。尝试将 virtualenv 放入 /var/www/<your_app>/.venv
或 /var/www/.<your_app>_venv
.