[MacPorts] #63383: pipenv sourcing from its own virtualenvs
MacPorts
noreply at macports.org
Tue Aug 17 12:02:53 UTC 2021
#63383: pipenv sourcing from its own virtualenvs
---------------------+--------------------
Reporter: dgilman | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Keywords: | Port: pipenv
---------------------+--------------------
After recently updating to the latest pipenv 2021.5.29 I am unable to use
pipenv on the command line. It appears to be sourcing packages out of the
virtualenv maintained by pipenv, which lacks the
`backports.entry_points_selectable` package and can't be launched.
This is with a fresh virtualenv (after `pipenv --rm; pipenv sync`):
{{{
07:56.user at system:~/src/deathstorm master$ pipenv shell
Traceback (most recent call last):
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pkg_resources/__init__.py", line 568, in _build_master
ws.require(__requires__)
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pkg_resources/__init__.py", line 886, in require
needed = self.resolve(parse_requirements(requirements))
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pkg_resources/__init__.py", line 777, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (backports.entry-points-
selectable 0.0.0
(/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages),
Requirement.parse('backports.entry_points_selectable>=1.0.4'),
{'virtualenv'})
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/local/bin/pipenv", line 33, in <module>
sys.exit(load_entry_point('pipenv==2021.5.29', 'console_scripts',
'pipenv')())
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pipenv/vendor/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pipenv/vendor/click/core.py", line 781, in main
with self.make_context(prog_name, args, **extra) as ctx:
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pipenv/vendor/click/core.py", line 700, in make_context
self.parse_args(ctx, args)
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pipenv/vendor/click/core.py", line 1212, in parse_args
rest = Command.parse_args(self, ctx, args)
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pipenv/vendor/click/core.py", line 1044, in parse_args
parser = self.make_parser(ctx)
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pipenv/vendor/click/core.py", line 965, in make_parser
for param in self.get_params(ctx):
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pipenv/vendor/click/core.py", line 912, in get_params
help_option = self.get_help_option(ctx)
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pipenv/cli/options.py", line 27, in get_help_option
from ..core import format_help
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pipenv/core.py", line 33, in <module>
from .project import Project
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pipenv/project.py", line 24, in <module>
from .environment import Environment
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pipenv/environment.py", line 16, in <module>
import pkg_resources
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pkg_resources/__init__.py", line 3243, in <module>
def _initialize_master_working_set():
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pkg_resources/__init__.py", line 3226, in _call_aside
f(*args, **kwargs)
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pkg_resources/__init__.py", line 3255, in
_initialize_master_working_set
working_set = WorkingSet._build_master()
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pkg_resources/__init__.py", line 570, in _build_master
return cls._build_from_requirements(__requires__)
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pkg_resources/__init__.py", line 583, in
_build_from_requirements
dists = ws.resolve(reqs, Environment())
File
"/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/site-packages/pkg_resources/__init__.py", line 772, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The
'backports.entry_points_selectable>=1.0.4' distribution was not found and
is required by virtualenv
}}}
However, to get it to work, I can explicitly use the MacPorts system
installation:
{{{
07:55.user at system:~/src/deathstorm master$ /opt/local/bin/python3.9 -m
pipenv --rm
Removing virtualenv (/Users/user/.local/share/virtualenvs/deathstorm-
iA7v7lV-)...
07:55.user at system:~/src/deathstorm master$ /opt/local/bin/python3.9 -m
pipenv sync
Creating a virtualenv for this project...
Pipfile: /Users/user/src/deathstorm/Pipfile
Using /opt/local/bin/python3.9 (3.9.6) to create virtualenv...
⠏ Creating virtual environment...created virtual environment
CPython3.9.6.final.0-64 in 592ms
creator CPython3Posix(dest=/Users/user/.local/share/virtualenvs
/deathstorm-iA7v7lV-, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle,
wheel=bundle, via=copy, app_data_dir=/Users/user/Library/Application
Support/virtualenv)
added seed packages: pip==21.2.3, setuptools==57.4.0, wheel==0.37.0
activators
BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator
✔ Successfully created virtual environment!
Virtualenv location: /Users/user/.local/share/virtualenvs/deathstorm-
iA7v7lV-
Installing dependencies from Pipfile.lock (35060c)...
🐍 ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 38/38 — 00:00:14
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
All dependencies are now up-to-date!
07:56.user at system:~/src/deathstorm master$ /opt/local/bin/python3.9 -m
pipenv shell
Launching subshell in virtual environment...
. /Users/user/.local/share/virtualenvs/deathstorm-iA7v7lV-/bin/activate
07:56.user at system:~/src/deathstorm master$ .
/Users/user/.local/share/virtualenvs/deathstorm-iA7v7lV-/bin/activate
}}}
--
Ticket URL: <https://trac.macports.org/ticket/63383>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list