관리자가 일부 Python 응용 프로그램을 모니터링하는 solaris 서버를 실행 중입니다. 서버의 디렉토리에서Paster는 프로그램 디렉토리에서 실행해야합니까?
paster serve /opt/pyapps/menuadmin/prod.ini
:
이전에, 나는 명령을 실행할 수 있습니다. 최근 문제가 있었고/opt 폴더가 이전 백업에서 복원되었습니다. 이 폴더에는 수퍼바이저를 포함한 모든 응용 프로그램이 포함되어 있습니다.
이제 Pylons의 "버전 충돌"때문에 감독자가 응용 프로그램을 시작하지 않는 문제가 있습니다.
이것은 이상한 곳이며 왜 이러한 오류가 발생하는지 이해가되지 않습니다.
프로그램 디렉토리 외부에서 paster 명령을 실행하면 버전 충돌 오류가 발생합니다. 예를 들면 : 나는 프로그램 디렉토리 내에서 명령을 실행하는 경우
cd/
paster serve /opt/pyapps/menuadmin/prod.ini
Traceback (most recent call last):
File "/opt/csw/bin/paster", line 8, in <module>
load_entry_point('PasteScript==1.7.5', 'console_scripts', 'paster')()
File "/opt/csw/lib/python2.6/site-packages/PasteScript-1.7.5-py2.6.egg/paste/script/command.py", line 93, in run
commands = get_commands()
File "/opt/csw/lib/python2.6/site-packages/PasteScript-1.7.5-py2.6.egg/paste/script/command.py", line 135, in get_commands
plugins = pluginlib.resolve_plugins(plugins)
File "/opt/csw/lib/python2.6/site-packages/PasteScript-1.7.5-py2.6.egg/paste/script/pluginlib.py", line 82, in resolve_plugins
pkg_resources.require(plugin)
File "/opt/csw/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/pkg_resources.py", line 626, in require
File "/opt/csw/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/pkg_resources.py", line 528, in resolve
pkg_resources.VersionConflict: (Pylons 0.9.7 (/opt/csw/lib/python2.6/site-packages/Pylons-0.9.7-py2.6.egg), Requirement.parse('Pylons>=0.10'))
하지만, 그것을 잘 실행됩니다. 예 :
cd /opt/pyapps/menuadmin/
paster serve /opt/pyapps/menuadmin/prod.ini
Starting server in PID 29902.
serving on http://127.0.0.1:3002
나는 절대로 이런 일이 왜 주위에 내 머리를 얻을 수 없습니다!
전혀 생각이나 의견을 부탁드립니다 !!!!
버전 충돌을 피하려면 [virtualenv] (http://www.virtualenv.org)를 만들고 거기에 필요한 버전의 Pylons 및 기타 라이브러리를 설치하고 관리자의 virtualenv에서 응용 프로그램을 실행하십시오. – pablodcar
우리는 여러개의 가상 환경을 가지고 있지만 문제는 여전히 각각 이상합니다. 매우 이상합니다 – JackalopeZero
각 경우마다 다른 버전의'paster' 명령을 실행하고있을 수 있습니다. 예 : '/ opt/csw'가 가상 환경 인 경우 해당'paster' 명령은'/ opt/csw/bin/paster'에 위치해야합니다. – pablodcar