Skip to content
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

Fails to install on Windows (issue from docker-py) #108

Closed
M-Davies opened this issue Jul 22, 2022 · 5 comments
Closed

Fails to install on Windows (issue from docker-py) #108

M-Davies opened this issue Jul 22, 2022 · 5 comments
Labels
bug Something isn't working

Comments

@M-Davies
Copy link

Specs

image

  • Docker Version: 4.10.1 (82475)
  • Python Version: 3.10.5 (also tried on versions 3.10.0, 3.5.0, 3.6.8, 3.6.0 and 3.3.0)
  • Exegol Version: latest (pulled from the repository)
  • No WSL (it is installed but I am trying to make this work without it for now)

(let me know if you need any more information about my system)

Bug

Exegol fails to install on my Windows machine due to a dependency issue, both when installing via pip and when installing directly from this repository:

PS C:\Users\toxic\Documents\Tools> python -m pip install -r .\Exegol\requirements.txt
Collecting docker~=5.0.3
  Using cached docker-5.0.3-py2.py3-none-any.whl (146 kB)
Collecting requests>=2.26.0
  Using cached requests-2.28.1-py3-none-any.whl (62 kB)
Collecting rich~=11.2.0
  Using cached rich-11.2.0-py3-none-any.whl (217 kB)
Collecting GitPython~=3.1.26
  Using cached GitPython-3.1.27-py3-none-any.whl (181 kB)
Collecting PyYAML>=6.0
  Using cached PyYAML-6.0-cp310-cp310-win_amd64.whl (151 kB)
Collecting websocket-client>=0.32.0
  Using cached websocket_client-1.3.3-py3-none-any.whl (54 kB)
ERROR: Could not find a version that satisfies the requirement pywin32==227; sys_platform == "win32" (from docker) (from versions: 302, 303, 304)
ERROR: No matching distribution found for pywin32==227; sys_platform == "win32"

Looking at the log when trying to install packages directly, it's the docker~=5.0.3 package which is the cause since the updated version of the docker package uses the newer pypiwin32 package instead of the older deprecated pywin32 (thread for reference -> https://stackoverflow.com/questions/40981120/python-pip-cannot-find-pywin32-on-windows)

PS C:\Users\toxic\Documents\Tools> python -m pip install docker
Collecting docker
  Using cached docker-5.0.3-py2.py3-none-any.whl (146 kB)
  Using cached docker-5.0.2-py2.py3-none-any.whl (145 kB)
  Using cached docker-5.0.1-py2.py3-none-any.whl (145 kB)
  Using cached docker-5.0.0-py2.py3-none-any.whl (146 kB)
  Using cached docker-4.4.4-py2.py3-none-any.whl (147 kB)
  Using cached docker-4.4.3-py2.py3-none-any.whl (146 kB)
  Using cached docker-4.4.2-py2.py3-none-any.whl (146 kB)
  Using cached docker-4.4.1-py2.py3-none-any.whl (146 kB)
  Using cached docker-4.4.0-py2.py3-none-any.whl (146 kB)
  Using cached docker-4.3.1-py2.py3-none-any.whl (145 kB)
  Using cached docker-4.3.0-py2.py3-none-any.whl (145 kB)
  Using cached docker-4.2.2-py2.py3-none-any.whl (144 kB)
Collecting six>=1.4.0
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting pypiwin32==223
  Using cached pypiwin32-223-py3-none-any.whl (1.7 kB)
Requirement already satisfied: requests!=2.18.0,>=2.14.2 in c:\users\toxic\.pyenv\pyenv-win\versions\3.10.5\lib\site-packages (from docker) (2.28.1)
Collecting websocket-client>=0.32.0
  Using cached websocket_client-1.3.3-py3-none-any.whl (54 kB)
Collecting pywin32>=223
  Using cached pywin32-304-cp310-cp310-win_amd64.whl (12.1 MB)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\users\toxic\.pyenv\pyenv-win\versions\3.10.5\lib\site-packages (from requests!=2.18.0,>=2.14.2->docker) (1.26.10)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\toxic\.pyenv\pyenv-win\versions\3.10.5\lib\site-packages (from requests!=2.18.0,>=2.14.2->docker) (2022.6.15)
Requirement already satisfied: charset-normalizer<3,>=2 in c:\users\toxic\.pyenv\pyenv-win\versions\3.10.5\lib\site-packages (from requests!=2.18.0,>=2.14.2->docker) (2.1.0)
Requirement already satisfied: idna<4,>=2.5 in c:\users\toxic\.pyenv\pyenv-win\versions\3.10.5\lib\site-packages (from requests!=2.18.0,>=2.14.2->docker) (3.3)
Installing collected packages: pywin32, websocket-client, six, pypiwin32, docker
Successfully installed docker-4.2.2 pypiwin32-223 pywin32-304 six-1.16.0 websocket-client-1.3.3

PS C:\Users\toxic\Documents\Tools> python -m pip install docker~=5.0.3
Collecting docker~=5.0.3
  Using cached docker-5.0.3-py2.py3-none-any.whl (146 kB)
Requirement already satisfied: websocket-client>=0.32.0 in c:\users\toxic\.pyenv\pyenv-win\versions\3.10.5\lib\site-packages (from docker~=5.0.3) (1.3.3)
ERROR: Could not find a version that satisfies the requirement pywin32==227; sys_platform == "win32" (from docker) (from versions: 302, 303, 304)
ERROR: No matching distribution found for pywin32==227; sys_platform == "win32"

Failed Fixes

  • Tried other python versions (I'm not sure which version of python3 is the one we're supposed to use on Windows)
  • Cleared pip cache + reinstalled python
  • Install packages directly

Could you possibly look into upgrading the docker version used by Exegol so this may work on Windows in the future?

@Dramelac
Copy link
Member

Hello,

Indeed it's a known issue but we are already using the latest docker library, there is an issue opened docker/docker-py#2902
But the lib appears to not be maintained by docker anymore...

For now the (easiest) workaround is to downgrade to python 3.9 on Windows.

Depending on how things goes (lib maintained by the community in a near future for example) we will see if we'll have to fork or change to whole lib...

@M-Davies
Copy link
Author

Ah ok, thanks for clarifying

@ShutdownRepo ShutdownRepo changed the title Exegol Fails to install on Windows Fails to install on Windows (issue from docker-py) Jul 23, 2022
@ShutdownRepo ShutdownRepo reopened this Jul 23, 2022
@ShutdownRepo
Copy link
Member

Re-opening this while there is no fix, so that we can keep it tracked

@ShutdownRepo ShutdownRepo added the bug Something isn't working label Jul 23, 2022
@M-Davies
Copy link
Author

Looks like that issue got closed, they updated their pywin32 to 304 which is supported by Python 3.10 in docker/docker-py#3004

@Dramelac
Copy link
Member

Dramelac commented Jul 26, 2022

Yes indeed !
Now we just have to wait for them to release a new version of the lib. I'll close the ticket once the new version will be released and when the requirements.txt on exegol will be updated with the corresponding new version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants