-
Notifications
You must be signed in to change notification settings - Fork 5.3k
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
ImportError: No module named urllib.parse #1288
Comments
What if you do I suspect the system installed six is older, the |
the result of
and according to python package index this is the most recent version |
Is there something i have to do or this is a bug ?! |
How did you install compose? I don't think it's a bug in compose, but there may be a missing version restriction somewhere. Could you try installing it in a virtualenv? |
Same problem here on Fedora 21. I installed with pip for python2.7, is that correct? |
@Jonast yes exactly i have the same Linux distribution , i am using Fedora 21, but my python version is 2.7 only |
|
Same error here, using Fedora 21 and Python 2.7 too |
The combination of six and requests that docker-compose currently requires causes this error via sys.meta_path hackery if urllib3<1.6 happens to be installed. Minimal reproduction:
|
Nice find @bukzor . We've updated the requests dependency to |
If the purpose of the < is to exclude api-breaking changes, shouldn't <3 be On Sat, May 30, 2015 at 7:23 AM Daniel Nephin [email protected]
|
It should be, but it isn't - if I recall, we've had problems in the past exactly because requests made a breaking change in a minor version release. |
Hello, I also got such error when I've tried to start _bpython_ interpreter. OS: fresh installed Ubuntu 15.04. Do you guys have any ideas how to fix it? |
That's sad. Things would be better if we'd follow semver more closely. On Tue, Jun 2, 2015 at 2:59 AM Aanand Prasad [email protected]
|
I have the same problem, I am using Fedora 22 and Python 2.7 |
ok, I have found the issue. Thanks @bukzor |
Also ran into this issue on Fedora 22 with Python 2.7 running |
Looks like docker-py defines |
Sorry, meant to link to docker-py's |
I was having:
solved my problem:
|
This is still happening on new Fedora 22 installs. Is this a pip bug? Why is an explicit "sudo pip install -U websocket" necessary to get docker-compose running properly? (I did install docker-compose through pip after all, so you'd expect it to do that during install of the deps on its own) |
in my case i had to install python-devel (fedora 21) |
Sorry, still getting this on Fedora 22. sudo dnf install docker-compose docker-compose --version I already have websocket and upgraded it via sudo pip install --upgrade websocket |
Same issue on CentOS 7.0.1406.
|
Using a virtualenv worked for me as stated in the documentation.
|
This is not really an acceptable solution. For example, in Fedora, I install docker from the system packages. If I have to install it using virtualenv from pip, the versions of compose and docker may be off and things don't work (had that happen when I tried to mix and match the two). Docker Compose should not be so brittle as to require such setup. Remember that most developers using this will have little or no knowledge of Python so all of this is just an extra hill for them to climb.... We've actually abandoned compose adoption because so many folks had issues installing it. Had to roll everything using basic shell scripts instead. |
Did you try installing the pre-built binaries? Installing with pip doesn't really have anything to do with the docker api version mismatch. We always support the last two versions of the docker api. |
Personally, I feel like rewriting it in Go and having all deps built-in would make this easier. Since the rest of Docker is in Go would that not make more long term sense? Proper Linux patterns are to use the libs in your distro repos, not to download custom one-off versions that do not get upgraded automatically. |
Rewriting in go is a pretty heavy handed way to solve this problem. Downloading a binary seems to be the convention with go packages as well, so rewriting it doesn't actually solve the problem. It sounds like what you want is an rpm/deb install option. I personally think that would be a good idea. Would you mind creating an issue for that? |
That is what I have been trying to do on Fedora:
and then docker-compose -v because any version of the Python library can be easily overriden if someone uses pip to install something outside of the system repos (which I have done). It just makes docker-compose very fragile compared to other parts of Docker. I have seen quite a few issues reported here from folks who have difficulty installing compose with exactly similar issues. I tried playing with library versions, removing via pip (python-requests), reinstalling the system ones, etc. Still issues like this persist. |
I think even with a deb/rpm the right way to do this is a virtualenv. Debian packages have https://github.com/spotify/dh-virtualenv which install all the dependencies in a virtualenv within the package. I don't know of a similar tool for rpms, but I think it should be possible still. |
I created #2235 |
I solved issue on my CentOS Linux release 7.1.1503 (Core) by running following commands: pip install pyopenssl ndg-httpsclient pyasn1 pip uninstall six |
@ovntatar +1 |
running this command fixed things for me: |
@ovntatar +1 |
what does this mean? |
I am getting this error and don't know what should i do,
I have tried to update
six
usingpip install -U six
but its up to dateRequirement already up-to-date: six in /usr/lib/python2.7/site-packages
what should i do in order to solve this issue ?
The text was updated successfully, but these errors were encountered: