語境: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 –