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 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 jayvdb commented Nov 26, 2016

Very maybe related: #851

@akittas
Copy link

@akittas akittas commented Nov 26, 2016

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

@ghost
Copy link

@ghost 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 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 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 asottile commented Nov 26, 2016

@asottile
Copy link
Contributor

@asottile asottile commented Nov 26, 2016

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

@asottile
Copy link
Contributor

@asottile asottile commented Nov 26, 2016

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 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 in de11b12 Nov 27, 2016
@jaraco
Copy link
Member

@jaraco jaraco commented Nov 27, 2016

Released 29.0.1 with the presumed fix.

nicoddemus added a commit to nicoddemus/pytest that referenced this issue Nov 27, 2016
nicoddemus added a commit to nicoddemus/pytest that referenced this issue Nov 27, 2016
@nicoddemus
Copy link
Contributor

@nicoddemus nicoddemus commented Nov 27, 2016

Thanks for the quick fix!

@mrchaohe
Copy link

@mrchaohe 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
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
6 participants