How can I use requests with Ironpython?

2019-08-02 09:27发布

问题:

I'm trying to run a script that was written with python 2.7, using some libraries that I've installed on my Windows machine - among them numpy scipy, scikit, requests and others.

Now I need to use a COM object dll, so I am writing an IronPython script that loads that dll. However when I try to use or import the python 2.7 code, I get import errors:

ImportError: No module named requests

How can I use that python 2.7 code I wrote with IronPython? I could run the script with the python 2.7 interpreter through a system command, but that would mean a big waste of time.

Any help would be appreciated.

回答1:

IronPython is written in C#, so you can't (easily) use C Extensions for cPython on it. There is a port of numpy and scipy for the Microsoft .Net environment.

For pure python packages and modules, appending to sys.path allows you to do imports. Did you python setup.py install your own code? Otherwise it won't be in the installations site-packages and you should add your project's directory to sys.path.

There is an additional problem with requests, an issue with supported encodings (https://ironpython.codeplex.com/workitem/4565) prevents that from working. The issue has been open for ages.

If you can be more specific about your code and setup, other people could chime in with more suggestions.