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

Appveyor builds failing due to cli-32.exe missing #861

Closed
jayvdb opened this issue Nov 26, 2016 · 12 comments
Closed

Appveyor builds failing due to cli-32.exe missing #861

jayvdb opened this issue Nov 26, 2016 · 12 comments

Comments

@jayvdb
Copy link
Contributor

jayvdb commented Nov 26, 2016

While running setup.py install for coala-bears on Appveyor Windows, seeing No such file or directory: 'C:\\Python34\\lib\\site-packages\\setuptools\\cli-32.exe

Collecting setuptools>=19.2 (from coala>=0.9->-r requirements.txt (line 2))
  Downloading setuptools-29.0.0-py2.py3-none-any.whl (248kB)
  Saved c:\wheels\setuptools-29.0.0-py2.py3-none-any.whl
...
%CMD_IN_ENV% python setup.py install
...
Searching for safety==0.5.1
Best match: safety 0.5.1
Adding safety 0.5.1 to easy-install.pth file
Installing safety-script.py script to C:\Python34\Scripts
error: [Errno 2] No such file or directory: 'C:\\Python34\\lib\\site-packages\\setuptools\\cli-32.exe'

https://ci.appveyor.com/project/coala/coala-bears/build/1.0.3736/job/63r49dy6q2qpjc62

The same occurs for cli-64.exe on the 64 bit builds.

https://ci.appveyor.com/project/coala/coala-bears/build/job/kqjed946v7wk1fq0

@jayvdb
Copy link
Contributor Author

jayvdb commented Nov 26, 2016

Very maybe related: #851

@akittas
Copy link

akittas commented Nov 26, 2016

Same problem for me on installation of various packages from pypi, e.g. twisted

@ghost
Copy link

ghost commented Nov 26, 2016

I am having the same issue but for the cli-64.exe.

Dropping the cli-64.exe in solved it for me.

This issue is occurring on both Python 2.7.11 and 3.5.2

Thanks

@akittas
Copy link

akittas commented Nov 26, 2016

both cli-32.exe and cli-64.exe don't exist in this version (i.e. 29.0.0)

@asottile
Copy link
Contributor

asottile commented Nov 26, 2016

This seems to be a bad wheel uploaded to pypi, cloning setuptools and building a wheel against master seems to avoid the cli-32.exe problem.

Diffing the wheel from pypi (vs the wheel created with python bootstrap.py && pip wheel .):

$ diff -ur before after
Only in after/setuptools: cli.exe
Only in after/setuptools: cli-32.exe
Only in after/setuptools: cli-64.exe
Only in after/setuptools/command: launcher manifest.xml
Only in after/setuptools: gui.exe
Only in after/setuptools: gui-32.exe
Only in after/setuptools: gui-64.exe
Only in before: setuptools-29.0.0.dist-info
Only in after: setuptools-29.0.0.post20161126.dist-info

@asottile
Copy link
Contributor

asottile commented Nov 26, 2016

Here's the diff of the dist-info: https://i.fluffy.cc/M75RPZ91P2GL6X0tvKSxzPSxsQ7zqjWQ.html

@asottile
Copy link
Contributor

perhaps due to the nonstandard release hinted at in #856?
CC @jaraco ^

@asottile
Copy link
Contributor

I can replicate the bug against master by building a setuptools wheel on linux and then attempting to use it on windows. It appears that the upload to public pypi for setuptools must come from a wheel built on windows. It also seems that despite the wheel being named a py2.py3-none-any wheel, it contains platform specific (windows) binaries in some cases (when built on windows).

@jaraco
Copy link
Member

jaraco commented Nov 27, 2016

The issue is that I performed a manual release today, and I forgot to set an environment variable first. If SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES is not set, and the release is cut from a non-Windows system, the files get omitted.

This situation is not suitable. Setuptools should not be defaulting to creating buggy builds. I'm going to change the behavior to release these files by default, and if an environment wants to make a build without these files, it must do so by disabling the behavior.

@jaraco jaraco closed this as completed in de11b12 Nov 27, 2016
@jaraco
Copy link
Member

jaraco commented Nov 27, 2016

Released 29.0.1 with the presumed fix.

@nicoddemus
Copy link
Contributor

Thanks for the quick fix!

@mrchaohe
Copy link

mrchaohe commented Feb 2, 2018

I had solved this problem. Because it loss the file 'cli-64' or 'cli-32', you get the file to the routh such as 'C:\Python34\lib\site-packages\setuptools\'.
I unziped the file 'setuptools-36.2.7-py2-py3-none-any.whl' , then find 'cli-32', 'cli-64' in folder setuptools. You can copy the files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants