wine icon indicating copy to clipboard operation
wine copied to clipboard

Python PIP give ProtocolError Connection aborted

Open wernight opened this issue 8 years ago • 13 comments

curl -L https://www.python.org/ftp/python/2.7.11/python-2.7.11.msi -o python.msi
wine msiexec -i python.msi -quiet -qn -norestart
wine c:/Python27/python.exe -m pip install pyinstaller

This should work but fails with:

Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', error(0, 'Error'))': /simple/pip/

Network connection from within the container seems to work fine (curl works), but it seems that there is an issue with the network from wine). Being headless and having no wineconsole makes it harder to check.

wernight avatar Feb 11 '16 08:02 wernight

Thanks for your Feedback!

Have you tried running the wine image with my XServer image (https://hub.docker.com/r/suchja/x11server/ https://hub.docker.com/r/suchja/x11server/)? This might give you some more possibilities for debugging. I’ll have a look into the wineconsole issue as well as the python stuff. However, this might take some time.

On 11 Feb 2016, at 09:48, Werner Beroux [email protected] wrote:

curl -L https://www.python.org/ftp/python/2.7.11/python-2.7.11.msi -o python.msi wine msiexec -i python.msi -quiet -qn -norestart wine c:/Python27/python.exe -m pip install pyinstaller This should work but fails with:

Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', error(0, 'Error'))': /simple/pip/ Network connection from within the container seems to work fine (curl works), but it seems that there is an issue with the network from wine). Being headless and having no wineconsole makes it harder to check.

— Reply to this email directly or view it on GitHub https://github.com/suchja/wine/issues/5.

suchja avatar Feb 11 '16 09:02 suchja

I did, gave same results except without $DISPLAY warning.

wernight avatar Feb 11 '16 10:02 wernight

Tried linked to a full X11, same issue even though curl is run also from within the container. Tried on two machines just in case.

Running this give the same error:

curl -LO https://bootstrap.pypa.io/get-pip.py
wine c:/Python27/python.exe get-pip.py

wernight avatar Feb 11 '16 16:02 wernight

Tracking down:

$ curl -L https://www.python.org/ftp/python/2.7.11/python-2.7.11.msi -o python.msi
$ wine msiexec -i python.msi -quiet -qn -norestart
$ wine c:/Python27/python.exe
>>> import urllib2
>>> urllib2.urlopen('https://google.com/').read()

Gives an error: ValueError: Empty certificate data; while doing the same for http:// works. The package ca-certificates and even openssl are installed however.

May be related to https://www.linuxquestions.org/questions/general-10/how-to-enable-https-ssl-in-wine-827048/

Tried the [workaround](wine c:/Python27/python.exe -m pip --index-url=http://pypi.python.org/simple/ install pyinstaller) but that doesn't work and it could be because on Windows it get's one level deeper and pip has not enough control of it.

Trying to install IE7 just in case...

curl -LO http://download.microsoft.com/download/3/8/8/38889dc1-848c-4bf2-8335-86c573ad86d9/IE7-WindowsXP-x86-enu.exe
wine IE7-WindowsXP-x86-enu.exe /quiet /norestart /update-no /nobackup

wernight avatar Feb 11 '16 16:02 wernight

Without looking into any further details I’m wondering whether you are mixing up the linux and the wine side. For sure ca-certificates are required to install and run commands inside the container. However, if I understand your plans correctly you are running the Windows version of Python within wine. So could it be that the required library (or whatever it is under windows) is missing? I’m not perfectly familiar with all the details around wine. So do you see what I mean? Does it make any sense?

On 11 Feb 2016, at 17:28, Werner Beroux [email protected] wrote:

Tracking down:

$ curl -L https://www.python.org/ftp/python/2.7.11/python-2.7.11.msi -o python.msi $ wine msiexec -i python.msi -quiet -qn -norestart $ wine c:/Python27/python.exe

import urllib2 urllib2.urlopen('https://google.com/').read() Gives an error: ValueError: Empty certificate data; while doing the same for http:// works. The package ca-certificates and even openssl are installed however.

— Reply to this email directly or view it on GitHub https://github.com/suchja/wine/issues/5#issuecomment-182943505.

suchja avatar Feb 11 '16 19:02 suchja

I was kind of hoping that wine would use the linux certificates but you're right it doesn't seem to. Which is why I tried installing IE as it's likely that on Windows python uses the same connection as IE.

wernight avatar Feb 11 '16 20:02 wernight

Sounds reasonable! Sorry, but my knowledge about using python in wine is very, very limited ;-)! The information on WineHQ is usually excellent. Sometimes is tricky to find what you are looking for. Hope you find a solution soon!

On 11 Feb 2016, at 21:31, Werner Beroux [email protected] wrote:

I was kind of hoping that wine would use the linux certificates but you're right it doesn't seem to. Which is why I tried installed IE as it's likely that on Windows python uses the same connection as IE.

— Reply to this email directly or view it on GitHub https://github.com/suchja/wine/issues/5#issuecomment-183050228.

suchja avatar Feb 11 '16 20:02 suchja

Yes it does look like a pure Wine issue.

On Thu, 11 Feb 2016 at 21:38 Jan Suchotzki [email protected] wrote:

Sounds reasonable! Sorry, but my knowledge about using python in wine is very, very limited ;-)! The information on WineHQ is usually excellent. Sometimes is tricky to find what you are looking for. Hope you find a solution soon!

On 11 Feb 2016, at 21:31, Werner Beroux [email protected] wrote:

I was kind of hoping that wine would use the linux certificates but you're right it doesn't seem to. Which is why I tried installed IE as it's likely that on Windows python uses the same connection as IE.

— Reply to this email directly or view it on GitHub < https://github.com/suchja/wine/issues/5#issuecomment-183050228>.

— Reply to this email directly or view it on GitHub https://github.com/suchja/wine/issues/5#issuecomment-183052192.

wernight avatar Feb 11 '16 21:02 wernight

There is something that could be done, which is to update Wine to latest version and add Docker tags.

wernight avatar Feb 12 '16 09:02 wernight

Sure! Update will be done soon. What kind of tags do you think of?

Am 12.02.2016 um 10:40 schrieb Werner Beroux [email protected]:

There is something that could be done, which is to update Wine to latest version and add Docker tags.

— Reply to this email directly or view it on GitHub.

suchja avatar Feb 12 '16 10:02 suchja

For example: 1, 1.6, 1.6.2 like the official packages. You can use regex to built them automatically from tags See https://github.com/docker/hub-feedback/issues/501

wernight avatar Feb 12 '16 13:02 wernight

Actually I started with an approach like that. However, the benefits did seem to be enough for the additional effort of maintenance. I’ll have a look into the regex stuff, but probably stick with having the latest official and the latest development version available.

On 12 Feb 2016, at 14:05, Werner Beroux [email protected] wrote:

For example: 1, 1.6, 1.6.2 like the official packages. You can use regex to built them automatically from tags See docker/hub-feedback#501 https://github.com/docker/hub-feedback/issues/501 — Reply to this email directly or view it on GitHub https://github.com/suchja/wine/issues/5#issuecomment-183317826.

suchja avatar Feb 12 '16 13:02 suchja

It's just about retrieving and installing a hardcoded version (here it's about getting a snapshop of a tagged version for example and not latest release), and doing a git tag v1.6.2 && git push --tag. Examples:

https://github.com/wernight/docker-plex-media-server/blob/v0.9.14.6/Dockerfile

https://github.com/wernight/docker-phantomjs/blob/v2.1.1/Dockerfile

wernight avatar Feb 12 '16 14:02 wernight