Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

pip

ironpython

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))
like image 863
Marc Meketon Avatar asked Jul 15 '15 13:07

Marc Meketon


People also ask

What is a pip executable?

Pip is the standard package manager for Python. It enables the installation and management of third party packages that provide features and functionality not contained in the Python standard library.

Is pip installed by default with Python?

pip is the preferred installer program. Starting with Python 3.4, it is included by default with the Python binary installers.


1 Answers

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

like image 129
Irmen de Jong Avatar answered Sep 30 '22 13:09

Irmen de Jong