Why does IronPython tell me that pip is a package and not an executable?
Asked Answered
E

1

6

I am a complete newbie at Python. I wanted to try to see if Pyomo (a Python package for mathematical modeling) could work under IronPython because all my code for generating the data needed for Pyomo is in C#.

I installed IronPython 2.7.5, then tried as an administrator the advice found in http://blog.ironpython.net/2014/12/pip-in-ironpython-275.html#disqus_thread on how to run "pip" for IronPython. I used the exact example they gave (installing html5lib):

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

The first line worked, and I see in the Lib/site-packages directory a folder called pip-6.1.1-py2.7.egg with lots of python code in it.

For the second line, I received the error:

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

At this point, I'm stuck. Any help would be appreciated.

Just in case this helps, printing out the sys.version gives:

2.7.5 (IronPython 2.7.5 (2.7.5.0) on .NET 4.0.30319.34209 (32-bit))
Esmeralda answered 15/7, 2015 at 13:48 Comment(0)
B
8

I encountered the same problem. It seems that IronPython can't deal with more recent versions of pip. What I did was:

  • remove all traces from pip and setuptools from IronPython's Lib\site-packages folder
  • run from a commandline: ipy.exe -X:Frames -m ensurepip
  • this installed an old version of pip, one that IronPython understands. Verify this by checking that a folder pip-1.5.6.dist-info appears in IronPython's Lib/site-packages

Moral of the story; don't upgrade to a newer pip version when using IronPython

Blockish answered 1/11, 2015 at 11:33 Comment(2)
ipy.exe -X:Frames -m ensurepip as administrator ?Kappenne
I guess that depends on how you installed ironpython; I didn't have to run it as adminBlockish

© 2022 - 2024 — McMap. All rights reserved.