-
Notifications
You must be signed in to change notification settings - Fork 121
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
The setup should not depend on the module it is setting up nor any depen... #38
Conversation
…pendencies which would be resolved after the setup.
@3amice means the Here's my attempt at describing the problem: |
Correction: @3amice meant the |
I agree, the description was quite vague. I've corrected it. |
Thanks guys. I actually already pushed this fix to the dev branch the other day: It will be fixed in the next release. |
+1, I had to hack a pip install ipaddr dnspython before doing my pip install -r requirements.txt |
Another +1 - just stumbled on this myself. Are there plans to merge this into master? |
Yes, I plan to push out the next major release before the end of the month. I have been extremely busy at work, and I do apologize for the delay. |
Added in 0.9.0 |
Thanks! :) |
@timofonic Yes, this was fixed in v0.9.0. Are you still having an issue? |
...dencies which would be resolved after the setup.
I've come across an issue when installing ipwhois.
When, for example installing from pip:
pip install ipwhois
results in this error:
ImportError: No module named 'dns'
This is because the setup.py file acquires the version number from the ipwhois module and thus depends on it.
The problem is that setup.py depends on ipwhois which depends on dnspython.
However, since setup.py hasn't installed the dependencies for ipwhois yet, the setup fails.
The solution could be:
Install the dns module before even attempting to install ipwhois.
This, however, is not a feasible solution for deployments such as Heroku, Openshift and other "butt" providers since the gears/nodes sometimes spin down and then, when using the requirements.txt flle to install the dependencies again, will fail.
This is because pip features "look before you leap" - pip ensures that all dependencies can be found, unpacked, and have working setup.py before it installs any of them. source: post #3 pypa/pip#25.
A better solution would be to not having to import ipwhois in the actual setup.py file, as is shown in this pull request.