Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
virtualenv内部的Django一直在使用错误的Python_Python_Django_Apache_Python 2.7_Virtualenv - Fatal编程技术网

virtualenv内部的Django一直在使用错误的Python

virtualenv内部的Django一直在使用错误的Python,python,django,apache,python-2.7,virtualenv,Python,Django,Apache,Python 2.7,Virtualenv,在我的一生中,我无法找到一种简单的方法来使用Django 1.8、Python 2.7.3和virtualenv正确配置(Linode Debian 6)服务器。以下是我采取的步骤: mkvirtualenv --python=/usr/bin/python2.7 curator 这将在/srv/ve/.virtualenvs/curator下为我创建一个VirtualEnv 现在我运行: pip install django Django 1.8已成功安装。然后,我切换到/srv/www

在我的一生中,我无法找到一种简单的方法来使用Django 1.8、Python 2.7.3和virtualenv正确配置(Linode Debian 6)服务器。以下是我采取的步骤:

 mkvirtualenv --python=/usr/bin/python2.7 curator
这将在/srv/ve/.virtualenvs/curator下为我创建一个VirtualEnv

现在我运行:

pip install django
Django 1.8已成功安装。然后,我切换到/srv/www/curator并运行:

django-admin startproject cmscore
然后,我按照说明操作,在我的sites available目录下得到一个Apache conf文件,如下所示:

<VirtualHost *:80>
  ServerName cms.example.com
  ServerAlias cms.example.com cms.example2.com
  ServerAdmin errors@example.com

  DocumentRoot /srv/www/curator/public_html

  WSGIDaemonProcess cms.example.com python-path=/srv/ve/.virtualenvs/curator/bin/python:/srv/ve/.virtualenvs/curator/lib/python2.7/site-packages
  WSGIProcessGroup cms.example.com
  WSGIScriptAlias / /srv/www/curator/cmscore/cmscore/wsgi.py

  <Directory /srv/www/curator/cmscore/cmscore>
  <Files wsgi.py>
  Order deny,allow
  Allow from all
  </Files>
  </Directory>

  Alias /robots.txt /srv/www/curator/public_html/robots.txt
  Alias /favicon.ico /srv/www/curator/public_html/favicon.ico
  Alias /css /srv/www/curator/public_html/css
  Alias /js /srv/www/curator/public_html/js
  Alias /img /srv/www/curator/public_html/img
  Alias /static/admin /srv/www/curator/public_html/admin
  Alias /static /srv/www/curator/public_html/static
  Alias /media /srv/www/curator/public_html/media

  ErrorLog /srv/www/curator/logs/error.log
  CustomLog /srv/www/curator/logs/access.log combined
</VirtualHost>
因此,当Django 1.8被早于2.7的Python版本使用时,这似乎是一个错误。为了进行调试,我将其放入wsgi.py文件的顶部:

import sys

activate_this = '/srv/ve/.virtualenvs/curator/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))

sys.stderr.write(sys.version)
在我的Apache错误日志中,我看到:

2.6.6 (r266:84292, Dec 27 2010, 00:18:12) 
我已经尝试了我能想到的每一个技巧(在完全相同的服务器上使用Django 1.6和Python 2.7的现有virtualenvs的技巧!),包括指向manage.py文件中正确Python安装的shebangs,但我找不到任何方法来实现这一点


我知道我在这里遗漏了一些非常明显的东西,但我对此视而不见,有人能帮忙吗?

哪个python版本是默认版本?mod_wsgi编译的Python版本是什么?2.6.6是我在virtualenv之外运行
Python
时得到的,所以这是默认版本。最终,我希望我可以扔掉整个服务器,然后重新启动,但由于大量生产站点已经在其上运行,这真的是不可能的(而且还有大量的开销)。我完全理解这种挫折感。我想
mod_wsgi
是用2.6.6编译的吧
mod_wsgi
需要重新编译到您想要使用的Python版本。
/srv/www/curator/cmscore/cmscore/wsgi.py
-它有执行权限吗?@w听起来很有可能,我猜是因为其他Django项目似乎在调用2.7,它以前已经工作过,但它们使用的是Django 1.6,所以也许他们“只是幸运”
2.6.6 (r266:84292, Dec 27 2010, 00:18:12)