我正在运行一个solaris服务器,它使用主管来监视一些Python应用程序。
以前,我可以运行以下命令:
paster serve /opt/pyapps/menuadmin/prod.ini从服务器上的任何目录。最近出现了一些问题,/opt文件夹是从以前的备份中恢复的。此文件夹包含所有应用程序,包括主管。
现在我们面临的问题是,主管将不会启动应用程序,因为“版本冲突”在幽门。
这是它变得奇怪的地方,这是没有意义的,为什么会发生这些错误。
如果我在程序目录之外运行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我完全搞不懂为什么会发生这种事!
任何想法或评论都是非常感谢的!
发布于 2012-10-16 08:14:05
基于你所说的,似乎你正在运行两种不同版本的贴纸器。第一个版本是运行旧的幽门软件包0.9.7,而第二个版本有更最新的版本,以满足或超过您的应用程序的要求。
我要做的是首先检查您运行的是哪个版本的贴图。从项目外部运行:
which paster然后在项目目录中再次运行相同的命令,并比较结果。我想你会发现这两条路不同。如果是这样的话,那么您所需要做的就是更新第一个版本的幽门版本,我猜这是全局安装。
然而,正如其他人所评论的,在虚拟环境中运行应用程序会更好,特别是如果您似乎表明您有多个虚拟环境,因此有多个项目。相信我,当我说它会让你以后从头痛中解脱出来的时候,你会从最初没有这样做的人那里得到帮助。
https://stackoverflow.com/questions/12710065
复制相似问题