为什么IronPython告诉我pip是一个包而不是一个可执行文件?



我是一个完全的Python新手。我想尝试看看Pyomo(一个用于数学建模的Python包)是否可以在IronPython下工作,因为我用于生成Pyomo所需数据的所有代码都是用c#编写的。

我安装了IronPython 2.7.5,然后作为管理员尝试了http://blog.ironpython.net/2014/12/pip-in-ironpython-275.html#disqus_thread上关于如何为IronPython运行"pip"的建议。我使用了他们给出的确切示例(安装html5lib):

ipy -X:Frames -m ensure pip
ipy -X:Frames -m pip install html5lib

第一行工作了,我看到Lib/site-packages目录下有一个名为pip-6.1.1-py2.7.egg的文件夹,里面有很多python代码。

对于第二行,我收到了错误:
Unhandled exception:
Traceback (most recent call last):
  File "C:Program Files (x86)IronPython 2.7Librunpy.py", line 170, in run_module
  File "C:Program Files (x86)IronPython 2.7Librunpy.py", line 111, in _get_module_details
ImportError: No module named urllib; 'pip' is a package and cannot be directly executed
在这一点上,我被卡住了。如有任何帮助,不胜感激。

如果这有帮助,打印出sys.version给出:

2.7.5 (IronPython 2.7.5 (2.7.5.0) on .NET 4.0.30319.34209 (32-bit))

我遇到了同样的问题。IronPython似乎无法处理最新版本的pip。我所做的是:

  • 从IronPython的Libsite-packages文件夹中删除pip和setuptools的所有痕迹
  • 命令行运行:ipy.exe -X:Frames -m ensurepip
  • this安装了一个旧版本的pip,一个IronPython可以理解的版本。通过检查文件夹pip-1.5.6.dist-info是否出现在IronPython的Lib/site-packages
  • 中来验证这一点

故事寓意;使用IronPython

时不要升级到较新的pip版本

相关内容

最新更新