--exists-action
's w
flag, is interpretted as a request for a package called w
when using pipenv install -e "."
#2326
Closed
Description
Been using pipenv for months, never ran into this before:
run pipenv install -e "."
seems to result in the request/collection of some random package called w
(Wallace!!) that's on pypi!!!!
As far as I can tell the reason why it searches for "w" is the --exists-action
option in core.py (line 1488).
(it doesn't help that the authors of Wallace
attempt to open a requirements.txt
file in their setup.py
)
Verbose output:
(ubuntu 18.04, python 2.7.15, pip 10.0.1, pipenv 2018-05-18)
mani@host:~/code/ReportCreator(hotfix/v2.6.3)$pipenv install -e "." -v
Installing -e .…
⠋Installing '-e .'
$ "/home/mani/.local/share/virtualenvs/ReportCreator-PmaoAZkd/bin/pip" install --verbose -e "." -i https://pypi.org/simple --extra-index-url ${PIP_EXTRA_INDEX_URL} --exists-action w
Created temporary directory: /tmp/pip-ephem-wheel-cache-xspLxQ
Created temporary directory: /tmp/pip-install-RJPkTE
Looking in indexes: https://pypi.org/simple, https://my.private.pypi.io/secret/index/, --exists-action
Obtaining file:///home/mani/code/ReportCreator
Running setup.py (path:/home/mani/code/ReportCreator/setup.py) egg_info for package from file:///home/mani/code/ReportCreator
Running command python setup.py egg_info
running egg_info
writing requirements to abcreporter.egg-info/requires.txt
writing abcreporter.egg-info/PKG-INFO
writing top-level names to abcreporter.egg-info/top_level.txt
writing dependency_links to abcreporter.egg-info/dependency_links.txt
reading manifest file 'abcreporter.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'abcreporter.egg-info/SOURCES.txt'
Source in /home/mani/code/ReportCreator has version 2.6.3, which satisfies requirement abcreporter==2.6.3 from file:///home/mani/code/ReportCreator
Collecting w
2 location(s) to search for versions of w:
* https://pypi.org/simple/w/
* https://my.private.pypi.io/secret/index/w/
Getting page https://pypi.org/simple/w/
Looking up "https://pypi.org/simple/w/" in the cache
Current age based on date: 1055
Freshness lifetime from max-age: 600
Freshness lifetime from request max-age: 600
Starting new HTTPS connection (1): pypi.org
https://pypi.org:443 "GET /simple/w/ HTTP/1.1" 304 0
Analyzing links from page https://pypi.org/simple/w/
Found link https://files.pythonhosted.org/packages/0d/6f/613f18ccb1fc24d007b72c8215bcf49c445adb720a9d1621ccdf86cf9265/w-0.11.1.tar.gz#sha256=3c9f0bcea99476294aa87092cb6c71a98538a8b1a55203be586378a02394821b (from https://pypi.org/simple/w/), version: 0.11.1
Getting page https://my.private.pypi.io/secret/index/w/
Looking up "https://my.private.pypi.io/secret/index/w/" in the cache
No cache entry available
Starting new HTTPS connection (1): dl.cloudsmith.io
https://dl.cloudsmith.io:443 "GET /my.private.pypi.io/secret/index/w/ HTTP/1.1" 404 None
Status code 404 not in (200, 203, 300, 301)
Could not fetch URL https://my.private.pypi.io/secret/index/w/: 404 Client Error: Not Found for url: https://my.private.pypi.io/secret/index/w/ - skipping
Using version 0.11.1 (newest of versions: 0.11.1)
Created temporary directory: /tmp/pip-unpack-bDSjkY
Looking up "https://files.pythonhosted.org/packages/0d/6f/613f18ccb1fc24d007b72c8215bcf49c445adb720a9d1621ccdf86cf9265/w-0.11.1.tar.gz" in the cache
Ignoring unknown cache-control directive:
Current age based on date: 6901
Ignoring unknown cache-control directive: immutable
Freshness lifetime from max-age: 365000000
The response is "fresh", returning cached response
365000000 > 6901
Using cached https://files.pythonhosted.org/packages/0d/6f/613f18ccb1fc24d007b72c8215bcf49c445adb720a9d1621ccdf86cf9265/w-0.11.1.tar.gz
Downloading from URL https://files.pythonhosted.org/packages/0d/6f/613f18ccb1fc24d007b72c8215bcf49c445adb720a9d1621ccdf86cf9265/w-0.11.1.tar.gz#sha256=3c9f0bcea99476294aa87092cb6c71a98538a8b1a55203be586378a02394821b (from https://pypi.org/simple/w/)
Running setup.py (path:/tmp/pip-install-RJPkTE/w/setup.py) egg_info for package w
Running command python setup.py egg_info
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-RJPkTE/w/setup.py", line 27, in <module>
with open('requirements.txt') as f:
IOError: [Errno 2] No such file or directory: 'requirements.txt'
Cleaning up...
Removing source in /tmp/pip-install-RJPkTE/w
Exception information:
Traceback (most recent call last):
File "/home/mani/.local/share/virtualenvs/ReportCreator-PmaoAZkd/local/lib/python2.7/site-packages/pip/_internal/basecommand.py", line 228, in main
status = self.run(options, args)
File "/home/mani/.local/share/virtualenvs/ReportCreator-PmaoAZkd/local/lib/python2.7/site-packages/pip/_internal/commands/install.py", line 291, in run
resolver.resolve(requirement_set)
File "/home/mani/.local/share/virtualenvs/ReportCreator-PmaoAZkd/local/lib/python2.7/site-packages/pip/_internal/resolve.py", line 103, in resolve
self._resolve_one(requirement_set, req)
File "/home/mani/.local/share/virtualenvs/ReportCreator-PmaoAZkd/local/lib/python2.7/site-packages/pip/_internal/resolve.py", line 257, in _resolve_one
abstract_dist = self._get_abstract_dist_for(req_to_install)
File "/home/mani/.local/share/virtualenvs/ReportCreator-PmaoAZkd/local/lib/python2.7/site-packages/pip/_internal/resolve.py", line 210, in _get_abstract_dist_for
self.require_hashes
File "/home/mani/.local/share/virtualenvs/ReportCreator-PmaoAZkd/local/lib/python2.7/site-packages/pip/_internal/operations/prepare.py", line 324, in prepare_linked_requirement
abstract_dist.prep_for_dist(finder, self.build_isolation)
File "/home/mani/.local/share/virtualenvs/ReportCreator-PmaoAZkd/local/lib/python2.7/site-packages/pip/_internal/operations/prepare.py", line 154, in prep_for_dist
self.req.run_egg_info()
File "/home/mani/.local/share/virtualenvs/ReportCreator-PmaoAZkd/local/lib/python2.7/site-packages/pip/_internal/req/req_install.py", line 486, in run_egg_info
command_desc='python setup.py egg_info')
File "/home/mani/.local/share/virtualenvs/ReportCreator-PmaoAZkd/local/lib/python2.7/site-packages/pip/_internal/utils/misc.py", line 698, in call_subprocess
% (command_desc, proc.returncode, cwd))
InstallationError: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-RJPkTE/w/
Error: An error occurred while installing -e .!
Url '--exists-action/w/' is ignored. It is either a non-existing path or lacks a specific scheme.
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-RJPkTE/w/
This is likely caused by a bug in -e .. Report this to its maintainers.