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

Fabric 2.0: [Errno 2] No such file or directory: 'LICENSE' #1740

Closed
alorence opened this issue May 10, 2018 · 6 comments
Closed

Fabric 2.0: [Errno 2] No such file or directory: 'LICENSE' #1740

alorence opened this issue May 10, 2018 · 6 comments

Comments

@alorence
Copy link

@alorence alorence commented May 10, 2018

Hi,

When installing the recent 2.0 release, the install fail when building wheel:

Building wheels for collected packages: fabric, pycparser
  Running setup.py bdist_wheel for fabric ... error
  Complete output from command c:\users\<username>\.virtualenvs\<projectname>\scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\Antoine\\AppData\\Local\\Temp\\pip-install-h3egl441\\fabric\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d C:\Users\<username>\AppData\Local\Temp\pip-wheel-erivg4qq --python-tag cp36:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib
  creating build\lib\fabric
  copying fabric\config.py -> build\lib\fabric
  copying fabric\connection.py -> build\lib\fabric
  copying fabric\exceptions.py -> build\lib\fabric
  copying fabric\executor.py -> build\lib\fabric
  copying fabric\group.py -> build\lib\fabric
  copying fabric\main.py -> build\lib\fabric
  copying fabric\runners.py -> build\lib\fabric
  copying fabric\transfer.py -> build\lib\fabric
  copying fabric\tunnels.py -> build\lib\fabric
  copying fabric\util.py -> build\lib\fabric
  copying fabric\_version.py -> build\lib\fabric
  copying fabric\__init__.py -> build\lib\fabric
  installing to build\bdist.win-amd64\wheel
  running install
  running install_lib
  creating build\bdist.win-amd64
  creating build\bdist.win-amd64\wheel
  creating build\bdist.win-amd64\wheel\fabric
  copying build\lib\fabric\config.py -> build\bdist.win-amd64\wheel\.\fabric
  copying build\lib\fabric\connection.py -> build\bdist.win-amd64\wheel\.\fabric
  copying build\lib\fabric\exceptions.py -> build\bdist.win-amd64\wheel\.\fabric
  copying build\lib\fabric\executor.py -> build\bdist.win-amd64\wheel\.\fabric
  copying build\lib\fabric\group.py -> build\bdist.win-amd64\wheel\.\fabric
  copying build\lib\fabric\main.py -> build\bdist.win-amd64\wheel\.\fabric
  copying build\lib\fabric\runners.py -> build\bdist.win-amd64\wheel\.\fabric
  copying build\lib\fabric\transfer.py -> build\bdist.win-amd64\wheel\.\fabric
  copying build\lib\fabric\tunnels.py -> build\bdist.win-amd64\wheel\.\fabric
  copying build\lib\fabric\util.py -> build\bdist.win-amd64\wheel\.\fabric
  copying build\lib\fabric\_version.py -> build\bdist.win-amd64\wheel\.\fabric
  copying build\lib\fabric\__init__.py -> build\bdist.win-amd64\wheel\.\fabric
  running install_egg_info
  running egg_info
  writing fabric.egg-info\PKG-INFO
  writing dependency_links to fabric.egg-info\dependency_links.txt
  writing entry points to fabric.egg-info\entry_points.txt
  writing requirements to fabric.egg-info\requires.txt
  writing top-level names to fabric.egg-info\top_level.txt
  reading manifest file 'fabric.egg-info\SOURCES.txt'
  writing manifest file 'fabric.egg-info\SOURCES.txt'
  Copying fabric.egg-info to build\bdist.win-amd64\wheel\.\fabric-2.0.0-py3.6.egg-info
  running install_scripts
  error: [Errno 2] No such file or directory: 'LICENSE'

  ----------------------------------------
  Failed building wheel for fabric
  Running setup.py clean for fabric
  Running setup.py bdist_wheel for pycparser ... done
  Stored in directory: C:\Users\<username>\AppData\Local\pip\Cache\wheels\c0\a1\27\5ba234bd77ea5a290cbf6d675259ec52293193467a12ef1f46
Successfully built pycparser
Failed to build fabric

Thanks for the amazing work !

@kaangoksal
Copy link

@kaangoksal kaangoksal commented May 10, 2018

I also encountered the same problem, did you get it working?

@alorence
Copy link
Author

@alorence alorence commented May 10, 2018

A few minutes after my first message, the package was removed from pypi and re-added later. After that, I was able to install it in a fresh virtualenv.
Unfortunately, I didn't succeed to port my old fabfile to the brand new fabric2 API. So I stopped to work on it at the moment, and will re-try as soon as I have more time

@garu57
Copy link

@garu57 garu57 commented May 11, 2018

It looks there is indeed a packaging problem.
On PyPI the Python 2 version is distributed as a wheel package while installing from Python 3 downloads a tar.gz that is missing the LICENSE file referred in setup.cfg.

pip as default tries to build a wheel from the downloaded tar.gz and fails for the missing file.
Right now the way to obtain a clean install is to pip install --no-cache-dir to force pip to install from setup.py bypassing the wheel build step.

I hope that Jeff will distribute a .whl for Python 3.

@bitprophet
Copy link
Member

@bitprophet bitprophet commented May 14, 2018

That's got to be some weird issue with my packaging scripts; the intent was to distribute:

  • source tar.gz
  • single Python 2+3 compatible wheel

But it sounds like something's gone sideways in a fashion that did not cause errors on my end. I'll take a look ASAP. Thanks all for the reports!

@bitprophet
Copy link
Member

@bitprophet bitprophet commented May 14, 2018

Yuuuup I copied my setup.cfg from the ONE project of mine that cannot build universal wheels (it must distribute dual 2 vs 3 wheels). So I was missing [wheel] universal = 1. Ugh. Fixing now.

bitprophet added a commit that referenced this issue May 14, 2018
Fixes #1740
bitprophet added a commit that referenced this issue May 14, 2018
@bitprophet
Copy link
Member

@bitprophet bitprophet commented May 14, 2018

Did a stealthy force push due to a minor mishap, but 2.0.1 is now up on PyPI and appears to have the proper universal wheel now.

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
4 participants
You can’t perform that action at this time.