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

extras_require and length of name > 5 fails. #870

Closed
dfee opened this issue Oct 10, 2017 · 9 comments
Closed

extras_require and length of name > 5 fails. #870

dfee opened this issue Oct 10, 2017 · 9 comments
Labels
help wanted Type: Bug 🐛 This issue is a bug.

Comments

@dfee
Copy link
Contributor

dfee commented Oct 10, 2017

I have a setup.py that looks like this:

from setuptools import setup, find_packages

setup(
    name='graphene_utils',
    version='1.0',
    packages=find_packages(),
    include_package_data=True,
    install_requires=[
        'graphene>=2.0.dev',
    ],
    extras_require={
        'sqlalchemy': [
            'sqlalchemy',
        ],
        'test': [
            'pylint',
        ],
    },
    entry_points='''
    [console_scripts]
    run=server:run
    ''',
)

When attempting pipenv install "-e .[sqlalchemy]" it fails with:

~/code/graphene_utils (virtualenvs/graphene_utils-Dw3J0BOS)
$ pipenv install "-e .[sqlalchemy]"
Courtesy Notice: Pipenv found itself running within a virtual environment, so it will automatically use that environment, instead of creating its own for any project.
Discovering imports from local codebase…
Installing -e .[sqlal…
⠸
Error:  An error occurred while installing -e .[sqlal!
.[sqlal should either be a path to a local project or a VCS url beginning with svn+, git+, hg+, or bzr+

However, renaming the extra_requires to sqla works fine.

@nateprewitt
Copy link
Member

Yeah, this is definitely a bug. I haven't had a chance to look into it yet, but I'll try to set aside some time this weekend. If anyone else would like to pick this up before then, feel free.

@spott
Copy link

spott commented Oct 23, 2017

Are there any workarounds for this?

@nateprewitt
Copy link
Member

We still haven't root caused the issue, so the only suggestion at this time is you'll have to use pip or a non-wheel (I wouldn't recommend with something like tensorflow).

@spott
Copy link

spott commented Oct 23, 2017

What are the consequences of using pip inside pipenv shell?

Does this just screw with the lock file?

@nateprewitt
Copy link
Member

@spott yes, it will install but nothing will be added to the lockfile or Pipfile. This means you'd have to run this step on every install.

@spott
Copy link

spott commented Oct 23, 2017

@nateprewitt: I'll have to run which step? pipenv lock?

@nateprewitt
Copy link
Member

Tensorflow won't be added to the Pipfile when you install it via pip. This means it will also not be included in the lockfile when locking.

You'll need to run pipenv shell and install Tensorflow via pip anytime you run pipenv install.

@spott
Copy link

spott commented Oct 23, 2017

@nateprewitt: Ah. Thanks. hopefully this bug will be fixed when I next need to do that.

@techalchemy
Copy link
Member

techalchemy commented Oct 23, 2017

@nateprewitt I've got the bug and part of the solution (it's the same as the local file installation issues, relating to passing relative paths to the Requirements library which can't parse anything with slashes) -- just need to fix the piece for markers as well. Edited because I read the actual issue-- will add that to todos

techalchemy added a commit to techalchemy/pipenv that referenced this issue Nov 19, 2017
- Split out markers and local paths
- Fixes pypa#870 and pypa#1083 and pypa#858
- Also splits markers properly using pip's approach
- The requirements parser we use really needs a lot of help
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Type: Bug 🐛 This issue is a bug.
Projects
None yet
Development

No branches or pull requests

4 participants