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

时间:2015-07-15 13:48:34

标签: pip ironpython

我是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.7\Lib\runpy.py", line 170, in run_module
  File "C:\Program Files (x86)\IronPython 2.7\Lib\runpy.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))

1 个答案:

答案 0 :(得分:6)

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

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

故事的道德;使用IronPython

时,请不要升级到更新的pip版本