pipenv: InstallationError with { path = ".", editable = true }
I used to be able to include my own package in the Pipfile
using { path = ".", editable = true }
, but now I’m getting this error:
pip9.exceptions.InstallationError: No files/directories in /private/tmp/demo (from )
I installed pipenv
with Homebrew (pipenv, version 11.7.2
), so I can’t paste the results of python -m pipenv.help
.
This was working with the version available last week on Homebrew.
Expected result
Pipfile.lock
is generated.
Actual result
$ pipenv install
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
ellar/pipenv/11.7.2/libexec/lib/python3.6/site-packages/pipenv/../pipenv/patched/piptools/resolver.py", line 200, in _resolve_one_round
for dep in self._iter_dependencies(best_match):
File "/usr/local/Cellar/pipenv/11.7.2/libexec/lib/python3.6/site-packages/pipenv/../pipenv/patched/piptools/resolver.py", line 275, in _iter_dependencies
for dependency in self.repository.get_dependencies(ireq):
File "/usr/local/Cellar/pipenv/11.7.2/libexec/lib/python3.6/site-packages/pipenv/../pipenv/patched/piptools/repositories/pypi.py", line 173, in get_dependencies
legacy_results = self.get_legacy_dependencies(ireq)
File "/usr/local/Cellar/pipenv/11.7.2/libexec/lib/python3.6/site-packages/pipenv/../pipenv/patched/piptools/repositories/pypi.py", line 192, in get_legacy_dependencies
dist = ireq.get_dist()
File "/usr/local/Cellar/pipenv/11.7.2/libexec/lib/python3.6/site-packages/pipenv/../pipenv/vendor/pip9/req/req_install.py", line 1069, in get_dist
egg_info = self.egg_info_path('').rstrip('/')
File "/usr/local/Cellar/pipenv/11.7.2/libexec/lib/python3.6/site-packages/pipenv/../pipenv/vendor/pip9/req/req_install.py", line 515, in egg_info_path
'No files/directories in %s (from %s)' % (base, filename)
pip9.exceptions.InstallationError: No files/directories in /private/tmp/demo (from )
Steps to replicate
$ tree
.
├── Pipfile
├── foo
│ └── __init__.py
└── setup.py
1 directory, 3 files
where Pipfile
:
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"
[requires]
python_version = "3.6"
[packages]
foo = { path = ".", editable = true }
and setup.py
:
import setuptools
setuptools.setup(
packages=setuptools.find_packages(),
)
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 19 (18 by maintainers)
Links to this issue
Commits related to this issue
- Run setup before pipenv Workaround for https://github.com/pypa/pipenv/issues/1744 — committed to jacebrowning/template-python by jacebrowning 6 years ago
- Run setup before pipenv Workaround for https://github.com/pypa/pipenv/issues/1744 — committed to profilech/.cookiecutter-template-python by jacebrowning 6 years ago
- Run setup before pipenv Workaround for https://github.com/pypa/pipenv/issues/1744 — committed to profilech/.cookiecutter-template-python by juneqch 6 years ago
- updating per pypa/pipenv#1744 — committed to OliverSherouse/bls by OliverSherouse 6 years ago
- Switch to Pipenv for development (#16) * added Pipfile * modified travis for pipenv * modified setup.py to accurately reflect versions supported * added lockfile to .gitignore * updating ... — committed to OliverSherouse/bls by OliverSherouse 6 years ago
Thanks for that info. It seems that in order to use the name I want in the
Pipfile
I now need to runpipenv run python setup.py develop
before running anypipenv
commands.I ran into this as well on
11.9.0
. Moving the editable requirement to the first in the list of[packages]
seems to have resolved it.I don’t know what is meant by this comment. https://github.com/pypa/pipfile spec says that this is allowed in a
Pipfile
and it used to work with prior versions.What makes this
setup.py
invalid? I’m attempting to produce the minimum example that replicates the bug.