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
PipfileI now need to runpipenv run python setup.py developbefore running anypipenvcommands.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
Pipfileand it used to work with prior versions.What makes this
setup.pyinvalid? I’m attempting to produce the minimum example that replicates the bug.