模块“virtualenv.create.via_global_ref.builtin.cpython.mac_os”没有属性“CPython2macOsArmFramework”

god*_*har 17 pyenv python-poetry macos-big-sur

我正在尝试将 python 包安装到BigSur macos 上的venvusing poetry- 上。

\n

我有稳定的 pyenv python

\n
pyenv which python\n/Users/josh/.pyenv/versions/3.8.6/bin/python\n
Run Code Online (Sandbox Code Playgroud)\n

当我执行时。

\n
\n

诗歌外壳 && 诗歌安装

\n
\n

我收到此错误,但不知道该怎么办。

\n
  AttributeError\n\n  module 'virtualenv.create.via_global_ref.builtin.cpython.mac_os' has no attribute \n'CPython2macOsArmFramework'\n\n  at ~/.pyenv/versions/3.8.2/lib/python3.8/importlib/metadata.py:79 in load\n       75\xe2\x94\x82         """\n       76\xe2\x94\x82         match = self.pattern.match(self.value)\n       77\xe2\x94\x82         module = import_module(match.group('module'))\n       78\xe2\x94\x82         attrs = filter(None, (match.group('attr') or '').split('.'))\n       79\xe2\x94\x82         return functools.reduce(getattr, attrs, module)\n       80\xe2\x94\x82 \n       81\xe2\x94\x82     @property\n       82\xe2\x94\x82     def extras(self):\n       83\xe2\x94\x82         match = self.pattern.match(self.value)\n
Run Code Online (Sandbox Code Playgroud)\n

欢迎任何解决问题的想法!

\n

Rav*_*jha 11

我今天收到这个错误。我使用的是 Ubuntu,python 3.8.10(pyenv 管理)。mac_os所以看到消息中出现错误感觉很奇怪。经过进一步调试,发现问题背后的原因是其他一些包已virtualenv作为依赖项安装在我的本地 venv 中。我们需要摆脱它。

罪魁祸首是pre-commit. 暂时从本地 venv 卸载它。安装其余软件包没有任何错误。


小智 7

我可以通过更新 virtualenv 的版本来解决这个问题。在这篇文章发表时,时间是 20.24.5。我希望它也适用于其他遇到此问题的人

pip install virtualenv --upgrade
Run Code Online (Sandbox Code Playgroud)


Kev*_*vin 6

当我遇到这个问题时已经很晚了,后来我就放弃了,直到几天后才回来。

就我而言,我认为发生的事情是我相信我尝试virtualenv从非管理员终端进行升级。问题在于,本应失败的事情已经部分成功,使我的系统处于无效状态。我认为发生的事情与多年来不同版本和版本的 Python 和 Pip 在不同情况和不同操作系统中放置站点包有关。

只是尝试重新安装virtualenv并没有成功。我不得不卸载它两次。然后重新安装。

查看它是从哪里卸载的。您自己的系统可能需要删除更多实例。

C:\Windows\System32>py -3 -m pip uninstall virtualenv
Found existing installation: virtualenv 20.24.5
Uninstalling virtualenv-20.24.5:
  Would remove:
    c:\users\MY_USER\appdata\roaming\python\python39\scripts\virtualenv.exe
    c:\users\MY_USER\appdata\roaming\python\python39\site-packages\virtualenv-20.24.5.dist-info\*
    c:\users\MY_USER\appdata\roaming\python\python39\site-packages\virtualenv\*
Proceed (Y/n)? y
Successfully uninstalled virtualenv-20.24.5

C:\Windows\System32>py -3 -m pip uninstall virtualenv
Found existing installation: virtualenv 20.7.0
Uninstalling virtualenv-20.7.0:
  Would remove:
    c:\program files\python39\lib\site-packages\virtualenv-20.7.0.dist-info\*
    c:\program files\python39\lib\site-packages\virtualenv\*
    c:\program files\python39\scripts\virtualenv.exe
Proceed (Y/n)? y
Successfully uninstalled virtualenv-20.7.0
Run Code Online (Sandbox Code Playgroud)

  • 卸载两次对我有用。谢谢 (3认同)

小智 0

我在将 python 从 3.9.5 升级到 3.9.12 后遇到了这个问题

我通过从已弃用的在线安装程序切换到通过安装来解决这个问题pip

前:

export POETRY_VERSION=1.1.4
curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python
Run Code Online (Sandbox Code Playgroud)

后:

export POETRY_VERSION=1.1.4
pip install "poetry==$POETRY_VERSION"
Run Code Online (Sandbox Code Playgroud)