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

Installation fails while building wheel for BlastRadius #2

Closed
icornett opened this issue Nov 30, 2017 · 4 comments
Closed

Installation fails while building wheel for BlastRadius #2

icornett opened this issue Nov 30, 2017 · 4 comments
Assignees
Labels

Comments

@icornett
Copy link

I attempted to use pip3 to install this app, and didn't find the app due to it being named "BlastRadius" and not "blast-radius" in the pip directory.

Once I was able to find the correct casing for the app, the installer yielded the following:

$ sudo pip3 install BlastRadius
Collecting BlastRadius
Using cached BlastRadius-0.1.4.tar.gz
Requirement already satisfied: Flask in /usr/local/lib/python3.5/dist-packages (from BlastRadius)
Requirement already satisfied: jinja2 in /usr/lib/python3/dist-packages (from BlastRadius)
Requirement already satisfied: pyhcl in /usr/local/lib/python3.5/dist-packages (from BlastRadius)
Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from BlastRadius)
Requirement already satisfied: BeautifulSoup4 in /usr/local/lib/python3.5/dist-packages (from BlastRadius)
Requirement already satisfied: itsdangerous>=0.21 in /usr/local/lib/python3.5/dist-packages (from Flask->BlastRadius)
Requirement already satisfied: click>=2.0 in /usr/local/lib/python3.5/dist-packages (from Flask->BlastRadius)
Requirement already satisfied: Werkzeug>=0.7 in /usr/local/lib/python3.5/dist-packages (from Flask->BlastRadius)
Requirement already satisfied: MarkupSafe in /usr/lib/python3/dist-packages (from jinja2->BlastRadius)
Requirement already satisfied: ply==3.10 in /usr/local/lib/python3.5/dist-packages (from pyhcl->BlastRadius)
Building wheels for collected packages: BlastRadius
Running setup.py bdist_wheel for BlastRadius ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-build-4gaediim/BlastRadius/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 /tmp/tmpw8ouc3sjpip-wheel- --python-tag cp35:
running bdist_wheel
running build
running build_py
creating build
creating build/lib
creating build/lib/blastradius
copying blastradius/init.py -> build/lib/blastradius
copying blastradius/graph.py -> build/lib/blastradius
copying blastradius/util.py -> build/lib/blastradius
creating build/lib/blastradius/handlers
copying blastradius/handlers/init.py -> build/lib/blastradius/handlers
copying blastradius/handlers/apply.py -> build/lib/blastradius/handlers
copying blastradius/handlers/dot.py -> build/lib/blastradius/handlers
copying blastradius/handlers/plan.py -> build/lib/blastradius/handlers
copying blastradius/handlers/terraform.py -> build/lib/blastradius/handlers
creating build/lib/blastradius/server
copying blastradius/server/init.py -> build/lib/blastradius/server
copying blastradius/server/server.py -> build/lib/blastradius/server
error: can't copy 'blastradius/pycache': doesn't exist or not a regular file


Failed building wheel for BlastRadius
Running setup.py clean for BlastRadius
Failed to build BlastRadius
Installing collected packages: BlastRadius
Running setup.py install for BlastRadius ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-build-4gaediim/BlastRadius/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-kw55m4su-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib
creating build/lib/blastradius
copying blastradius/init.py -> build/lib/blastradius
copying blastradius/graph.py -> build/lib/blastradius
copying blastradius/util.py -> build/lib/blastradius
creating build/lib/blastradius/handlers
copying blastradius/handlers/init.py -> build/lib/blastradius/handlers
copying blastradius/handlers/apply.py -> build/lib/blastradius/handlers
copying blastradius/handlers/dot.py -> build/lib/blastradius/handlers
copying blastradius/handlers/plan.py -> build/lib/blastradius/handlers
copying blastradius/handlers/terraform.py -> build/lib/blastradius/handlers
creating build/lib/blastradius/server
copying blastradius/server/init.py -> build/lib/blastradius/server
copying blastradius/server/server.py -> build/lib/blastradius/server
error: can't copy 'blastradius/pycache': doesn't exist or not a regular file

----------------------------------------

Command "/usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-build-4gaediim/BlastRadius/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-kw55m4su-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-4gaediim/BlastRadius/

the directory exists, is there a globbing issue with your installer path?

@28mm
Copy link
Owner

28mm commented Nov 30, 2017

Hi Ian,

I'm initially unable to reproduce (centos 7 and macos). Since I'm not super familiar with setuptools, it's not immediately obvious to me where it's going wrong...

Can you elaborate on your environment? I'm interested mostly in your os, and any particulars of the python distribution in use. That should help me reproduce.

Thanks!

@icornett
Copy link
Author

icornett commented Nov 30, 2017 via email

@28mm
Copy link
Owner

28mm commented Nov 30, 2017

This appears to be an issue with the way package_data is specified in setup.py, and is limited to certain versions of setuptools.

I am able to work-around the issue in my Ubuntu test environment, by upgrading setuptools. Does the below also work in your environment?

[...]$ pip3 install --upgrade setuptools
[...]$ pip3 install blastradius

The problem seems to be that package_data is defined with a bunch of globs, that don't discriminate against directories. the "bad" versions of setuptools expect only regular files, and not directories.

package_data={
      '': ['*', '*/*', '*/*/*'], # yikes
}

Working on a more permanent fix, that works with more versions of setuptools.

@28mm 28mm self-assigned this Nov 30, 2017
@28mm 28mm added the bug label Nov 30, 2017
@icornett
Copy link
Author

icornett commented Nov 30, 2017 via email

@28mm 28mm closed this as completed in 662f174 Dec 6, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants