在终端中运行
pip freeze
会引发以下错误(完整回溯):
PS C:\Users\lhott> pip freeze
ERROR: Exception:
Traceback (most recent call last):
File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\cli\base_command.py", line 167, in exc_logging_wrapper
status = run_func(*args)
File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\commands\freeze.py", line 87, in run
for line in freeze(
File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\operations\freeze.py", line 43, in freeze
req = FrozenRequirement.from_dist(dist)
File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\operations\freeze.py", line 237, in from_dist
req, comments = _get_editable_info(dist)
File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\operations\freeze.py", line 164, in _get_editable_info
vcs_backend = vcs.get_backend_for_dir(location)
File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\vcs\versioncontrol.py", line 238, in get_backend_for_dir
repo_path = vcs_backend.get_repository_root(location)
File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\vcs\git.py", line 501, in get_repository_root
r = cls.run_command(
File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\vcs\versioncontrol.py", line 650, in run_command
return call_subprocess(
File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_internal\utils\subprocess.py", line 141, in call_subprocess
proc = subprocess.Popen(
File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\subprocess.py", line 966, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\subprocess.py", line 1435, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
NotADirectoryError: [WinError 267] The directory name is invalid
我有Python 3.10.2。
pip freeze
直到今天都工作得很好,我不明白为什么。我最近更新了它,但我不知道为什么会导致这种情况。我也可以毫无问题地安装软件包 pip install
。例子:
尝试过的解决方案:
我确实找到了答案。 @Greg7000说
Maybe one of your dependency is badly installed
实际上给了我一个提示。
我安装了一个依赖项(朋友的包),我通过在相应文件夹上按删除来手动卸载它,而不是执行
pip uninstall
。 这可能会导致错误“目录名称无效”。即使在手动删除相应的文件夹后,使用 pip uninstall
也能解决问题。
我过去实际上也遇到过类似的问题,我通过升级 PIP 解决了
pip install pip --upgrade
就我而言,它是 Python 3.8 和 3.11 包的混合。使用
pip list
查询包并查找任何奇怪的引用。在“可编辑项目位置”列下,我找到了 3.8 包位置引用。
使用
pip uninstall <PACKAGE_NAME> -y
手动卸载奇怪的软件包组合。
要添加@FluidMechanics Potential Flows的答案,运行
pip freeze --debug
可以让我获取有关错误安装的软件包的信息。