我有Python 3.12和virtualenv 20.25.0,两者都是通过Homebrew安装的。上次我使用计算机时,virtualenv 运行正常。下次我尝试使用
virtualenv
时,我会收到此错误:
> $ virtualenv --version
Traceback (most recent call last):
File "/usr/local/bin/virtualenv", line 5, in <module>
from virtualenv.__main__ import run_with_catch
File "/usr/local/lib/python3.12/site-packages/virtualenv/__init__.py", line 3, in <module>
from .run import cli_run, session_via_cli
File "/usr/local/lib/python3.12/site-packages/virtualenv/run/__init__.py", line 7, in <module>
from virtualenv.app_data import make_app_data
File "/usr/local/lib/python3.12/site-packages/virtualenv/app_data/__init__.py", line 11, in <module>
from .read_only import ReadOnlyAppData
File "/usr/local/lib/python3.12/site-packages/virtualenv/app_data/read_only.py", line 5, in <module>
from virtualenv.util.lock import NoOpFileLock
File "/usr/local/lib/python3.12/site-packages/virtualenv/util/lock.py", line 12, in <module>
from filelock import FileLock, Timeout
ModuleNotFoundError: No module named 'filelock'
互联网并不是很有帮助,从成功使用 virtualenv 到现在,我自己什么也没做。这里可能发生了什么?
pip install virtualenv
安装 filelock
作为依赖项。如果 Homebrew 没有安装 filelock
,这是其公式中的一个错误。
尝试直接安装
filelock
来修复:
sudo python3.12 -m pip install filelock
如果这没有帮助,请尝试升级整个依赖堆栈:
virtualenv