-
Notifications
You must be signed in to change notification settings - Fork 336
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rez-pip raises an exception while getting dependencies #390
Comments
I'm guessing this is likely being caused by some legacy idiosyncrasies in how PyPi indexes its python packages. There are many cases where the "PyPi package name" doesn't match the actual installed "package name" (especially for any package that contains a dash ("-") in the name). In this case, it's likely trying to match the I ran into the same problem and ended up writing my own pip rez package maker script. It uses a python library called If I get some time, I'll try to merge it into the official rez pip and submit a Pull Request. |
First the basics:
On certain installations using rez-pip, I get an AttributeError exception citing "'NoneType' object has no attribute 'lower'". The stacktrace is this:
Here's what I've been able to observe. The InstallMode._get_dependencies method in rez/pip.py is called with requirement=u'six (>=1.5)' and distributions=[<EggInfoDistribution u'python-dateutil' 2.6.0>]. On line #62, the local "name" variable is set to None because get_distribution_name never gets a match on line #50 because "six" != "python-dateutil" and hence that return line on #51 isn't executed. When get_distribution_name is called again on line #74, that function tries to call the lower() method on that None object and fails.
Some ideas on how to fix this, but take them with a grain of salt since I'm new to this codebase:
The text was updated successfully, but these errors were encountered: