pipenv 在安装软件包时返回奇怪的错误

问题描述 投票:0回答:1

我是Python新手。我的 Mac 上安装了多个版本的 Python。当尝试使用 Pipenv 管理遗留项目的依赖项时(3.6 <= python <3.8). I ran

/Users/user/.pyenv/shims/pipenv --python /Users/user/.pyenv/versions/3.7.16/bin/python install --dev

这就是我得到的

Installing dependencies from Pipfile.lock (166d15)...
[pipenv.exceptions.InstallError]: Traceback (most recent call last):
[pipenv.exceptions.InstallError]: File "/Users/user/Library/Python/3.9/lib/python/site-packages/pipenv/patched/pip/__pip-runner__.py", line 50, in <module>
[pipenv.exceptions.InstallError]: runpy.run_module("pip", run_name="__main__", alter_sys=True)
[pipenv.exceptions.InstallError]: File "/Users/user/.pyenv/versions/3.7.16/lib/python3.7/runpy.py", line 205, in run_module
[pipenv.exceptions.InstallError]: return _run_module_code(code, init_globals, run_name, mod_spec)
[pipenv.exceptions.InstallError]: File "/Users/user/.pyenv/versions/3.7.16/lib/python3.7/runpy.py", line 96, in _run_module_code
[pipenv.exceptions.InstallError]: mod_name, mod_spec, pkg_name, script_name)
[pipenv.exceptions.InstallError]: File "/Users/user/.pyenv/versions/3.7.16/lib/python3.7/runpy.py", line 85, in _run_code
[pipenv.exceptions.InstallError]: exec(code, run_globals)
[pipenv.exceptions.InstallError]: File "/Users/user/Library/Python/3.9/lib/python/site-packages/pipenv/patched/pip/__main__.py", line 28, in <module>
[pipenv.exceptions.InstallError]: spec.loader.exec_module(pipenv)
[pipenv.exceptions.InstallError]: File "<frozen importlib._bootstrap_external>", line 728, in exec_module
[pipenv.exceptions.InstallError]: File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
[pipenv.exceptions.InstallError]: File "/Users/user/Library/Python/3.9/lib/python/site-packages/pipenv/__init__.py", line 30, in <module>
[pipenv.exceptions.InstallError]: from pipenv.cli import cli # noqa
[pipenv.exceptions.InstallError]: File "/Users/user/Library/Python/3.9/lib/python/site-packages/pipenv/cli/__init__.py", line 1, in <module>
[pipenv.exceptions.InstallError]: from .command import cli # noqa
[pipenv.exceptions.InstallError]: File "/Users/user/Library/Python/3.9/lib/python/site-packages/pipenv/cli/command.py", line 4, in <module>
[pipenv.exceptions.InstallError]: from pipenv import environments
[pipenv.exceptions.InstallError]: File "/Users/user/Library/Python/3.9/lib/python/site-packages/pipenv/environments.py", line 9, in <module>
[pipenv.exceptions.InstallError]: from pipenv.utils.shell import env_to_bool, is_env_truthy, isatty
[pipenv.exceptions.InstallError]: File "/Users/user/Library/Python/3.9/lib/python/site-packages/pipenv/utils/shell.py", line 16, in <module>
[pipenv.exceptions.InstallError]: from pipenv.vendor.pythonfinder.utils import ensure_path, parse_python_version
[pipenv.exceptions.InstallError]: File "/Users/user/Library/Python/3.9/lib/python/site-packages/pipenv/vendor/pythonfinder/__init__.py", line 4, in <module>
[pipenv.exceptions.InstallError]: from .models import SystemPath
[pipenv.exceptions.InstallError]: File "/Users/user/Library/Python/3.9/lib/python/site-packages/pipenv/vendor/pythonfinder/models/__init__.py", line 3, in <module>
[pipenv.exceptions.InstallError]: from .path import SystemPath
[pipenv.exceptions.InstallError]: File "/Users/user/Library/Python/3.9/lib/python/site-packages/pipenv/vendor/pythonfinder/models/path.py", line 10, in <module>
[pipenv.exceptions.InstallError]: from functools import cached_property
[pipenv.exceptions.InstallError]: ImportError: cannot import name 'cached_property' from 'functools' (/Users/user/.pyenv/versions/3.7.16/lib/python3.7/functools.py)
ERROR: Couldn't install package: {}
Package installation failed...
/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/subprocess.py:1052: ResourceWarning: subprocess 65854 is still running

中间切换到了系统python的版本(3.9)。我不知道“子进程......仍在运行”。几周以来一直对此感到困惑。我可以帮忙解决这个问题吗?

python python-3.x pipenv pipenv-install
1个回答
0
投票

这不会是一个很好的答案,但我的错误是类似的。当我更改 Pipfile 中调用的 python 版本时,它就开始了。我刚刚使用 pyenv 安装了新版本。

我使用

pipenv --rm
删除了该项目的 virtualenv。

然后我尝试运行其他命令,它们再次开始正常工作。我的猜测是 virtualenv 中的某些东西试图使用错误的 python。

© www.soinside.com 2019 - 2024. All rights reserved.