语境:Debian的7 + Django的+ gunicorn +的virtualenv:站点包蛋环节不PYTHONPATH
- Debian的7 为了使用/etc/gunicorn.d
- gunicorn(从Debian软件包安装配置)
- 项目依赖通过PIP在virtualenv中
依赖使用的是安装PIP安装-r requirements.txt 在此文件中安装我们有3个包,其自带从github存储库。
例如。
-e git+https://github.com/truc/bidule.git#egg=bidule-master
这里我gunicorn.d配置:
CONFIG = {
'mode': 'django',
'environment': {
'PYTHONPATH': '/path/to/my/django/project/:/path/to/virtualenv/lib/python2.7/site-packages/',
'PRODUCTION': '1',
},
'working_dir': '/path/to/my/django/project/',
'user': 'user',
'group': 'group',
'args': (
'--bind=127.0.0.1:8090',
'--workers=3',
# '--worker-class=egg:gunicorn#sync',
#'--timeout=30',
#'--preload',
'myproject.settings'
),
}
但3个GitHub的包不是在/path/to/virtualenv/lib/python2.7/site-packages/所以模块不在路径中找到。 我注意到有一个文件:bidule.egg-link包含/ path/to/virtualenv/src/bidule-master的路径
目前唯一的解决方法是找到手动路径到gunicorn.d conf中的PYTHONPATH中的这些包中。
'PYTHONPATH': '/path/to/my/django/project/:/path/to/virtualenv/src/bidule-master/:/path/to/virtualenv/lib/python2.7/site-packages/',
我的问题是有没有办法将每个github软件包手动放在pythonpath中?
感谢
注意,它似乎是我们应该的virtualenv同一版本的系统上安装Python包gunicorn。例如debian squeeze 7:pip install gunicorn == 0.14.5 –