Python 尝试为现有的Pylons应用程序提供服务时出现PasteScript错误

Python 尝试为现有的Pylons应用程序提供服务时出现PasteScript错误,python,osx-snow-leopard,pylons,paste,paster,Python,Osx Snow Leopard,Pylons,Paste,Paster,我试图在OSX雪豹上为现有的Python2.5挂架应用程序提供服务 我已经安装了Python2.5,并将其设置为默认的Python安装,安装了paster,安装了应用程序所需的挂架版本(0.9.6.1)以及其他版本。。。但是,当我将cd刻录到主文件夹并执行“paster serve development.ini”时,我得到以下信息: File "/usr/local/bin/paster", line 5, in <module> from pkg_resources im

我试图在OSX雪豹上为现有的Python2.5挂架应用程序提供服务

我已经安装了Python2.5,并将其设置为默认的Python安装,安装了paster,安装了应用程序所需的挂架版本(0.9.6.1)以及其他版本。。。但是,当我将cd刻录到主文件夹并执行“paster serve development.ini”时,我得到以下信息:

File "/usr/local/bin/paster", line 5, in <module>
    from pkg_resources import load_entry_point

File "/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/pkg_resources.py", line 2603, in <module>

File "/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/pkg_resources.py", line 666, in require

File "/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/pkg_resources.py", line 565, in resolve

pkg_resources.DistributionNotFound: PasteScript==1.7.3
文件“/usr/local/bin/paster”,第5行,在
从打包资源导入加载入口点
文件“/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/Python/pkg_resources.py”,第2603行,在
文件“/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/Python/pkg_resources.py”,第666行,在require中
文件“/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/Python/pkg_resources.py”,第565行,在resolve中
pkg_resources.DistributionNotFound:PasteScript==1.7.3
我肯定已经完成了“easy_install PasteScript==1.7.3”,但仍然会遇到这个错误。我真的错过了什么吗?帮忙


提前感谢。

也许这是一个太简单的答案,但我会尝试安装到特定的版本
easy\u install-2.5 PasteScript==1.7.3
查看以了解详细信息。

您的系统上可能安装了多个Python。
easy_install
命令可能将PasteScript安装到不同的Python解释器中。您可能有一个特定的
easy_install-2.5
命令,您应该将其用于Python 2.5解释器

但是,强烈建议在开发系统上使用virtualenv

Virtualenv允许您创建一个绑定到特定Python解释器的沙盒,并且可以根据每个项目在本地安装特定的软件包版本

有关将virtualenv与挂架一起使用的更多信息,请参见:

编辑
/usr/sbin/luci
中的第一行,然后将python版本添加到下一行:

#!/usr/bin/python -Es
#!/usr/bin/python

编辑
/usr/bin/paster
中的第一行,然后将python版本添加到下一行:

#!/usr/bin/python -Es
#!/usr/bin/python

我甚至在执行“粘贴-帮助”时也出现了这个错误。PasteScript在我的虚拟环境的站点包中,PasteScript显示在pip冻结中。问题是PasteScript文件夹以.dist info结尾。安装了另一个名为distribute的egg,它位于我的sys.path前面。它有一个旧版本的pkg_资源,不知道“.dist info”egg文件夹。所讨论的pkg_资源逻辑在函数find_on_path中。您可以在pkg_资源中搜索“dist info”。因此,在paste/script/command.py中的“pkg_resources.get_distribution('PasteScript')”未找到PasteScript,即使它已安装。要查找正在使用的pkg_资源,可以运行python并转到“导入pkg_资源;打印pkg_资源”。卸载“distribute”修复了我当前的错误(但随后我遇到了另一个错误)


更新:我在UbuntuPrecise上安装了最新的ckan 2.6.2(2017年4月)(v12,有点旧,于2012-2014年发布)(使用apt get Update完全更新,通过vagrant image Ubuntu/precise64安装)。它坏了。使用image ubuntu/trusty64非常有效。

您是将所有内容都安装到VirtualNV还是系统中?我正在使用系统。我使用“defaults write com.apple.versioner.python Version 2.5”将python 2.5设置为Snow Leopard(预安装的2.6除外)的默认版本。在CKAN的上下文中,修复方法可能是:pip安装--升级分发--用户()。通过删除distribute,我也取得了相当大的进步,但后来确实遇到了另一个问题,可能与此相关,也可能与此无关。