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)

Commits related to this issue

Most upvoted comments

Thanks for that info. It seems that in order to use the name I want in the Pipfile I now need to run pipenv run python setup.py develop before running any pipenv 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.

$ pipenv install -e .

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.

i don’t think that’s a valid setup.py

What makes this setup.py invalid? I’m attempting to produce the minimum example that replicates the bug.

$ pipenv install -e .