Search code examples
cygwin

importerror-no-module-named-pkg-resources after upgrade of python on cygwin


A while back I upgraded to python 2.7. I haven't used any of the packages I've downloaded recently so I didn't realize the error was connected until just now. I couldn't use any of the packages because I was getting the no_module_named pkg-resources error. I saw this question: What is causing ImportError: No module named pkg_resources after upgrade of Python on os X? and tried to follow the instructions but of course since I'm using cygwin I can't use curl. I used cygwin setup to try and download distribute (which I guess doesn't exist for cygwin either) and found python-setuptools. On the off chance that it would help I downloaded it and it got rid of that error. This was great because now I can use easy_install at least. However, I still get the following error with

dependencies when running many of my packages:
Traceback (most recent call last):
  File "/usr/bin/ipython", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2803, in <module>
    working_set.require(__requires__)
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 696, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 594, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound:

Any ideas I think it might be a problem with my site-packages not being in the new python folder so I will investigate that. Either way I wanted to share my solution to the problem for cygwin users.

Update: I copied over the site-packages from 2.6 to 2.7 and that didn't help. I eventually realized because the eggs are all for 2.6 not 2.7 so python 2.7 won't accept them. This is quite annoying. I guess I have to reinstall all the packages unless anyone has an easier solution?


Solution

  • To address the root of this problem. I discovered I was operating on a faulty assumption that curl was incompatible with Cygwin. I found out you can setup cygwin to enable curl, problem solved!