Автоматическое удаление несуществующих редактируемых пакетов в pip ⇐ Python

Программы на Python
Anonymous
Автоматическое удаление несуществующих редактируемых пакетов в pip

Сообщение Anonymous »

Я устанавливаю локальный пакет в редактируемом режиме.

Код: Выделить всё

pip install -e ~/subdir/test_example
Затем я переключаю ветку на ветку, в которой subdir/test_example/pyproject.toml еще не существует.

Код: Выделить всё

git switch master
Теперь pip находится в сломанном состоянии:

Код: Выделить всё

$ pip freeze
ERROR: Exception:
Traceback (most recent call last):
...
File "\lib\site-packages\pip\_internal\vcs\git.py", line 501, in get_repository_root
r = cls.run_command(
File "\lib\site-packages\pip\_internal\vcs\versioncontrol.py", line 650, in run_command
return call_subprocess(
File "\lib\site-packages\pip\_internal\utils\subprocess.py", line 141, in call_subprocess
proc = subprocess.Popen(
File "C:\Python39\lib\subprocess.py", line 951, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Python39\lib\subprocess.py", line 1420, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
NotADirectoryError: [WinError 267] The directory name is invalid
Я могу вручную удалить редактируемую установку и исправить pip: pip uninstall test_example, после чего pip Freeze и другие команды в порядке.
Очевидное решение здесь — «убедиться, что ваши пакеты Python существуют во всех ветвях репозитория», но это может быть не вариант. Есть ли способ удалить все неработающие ссылки на редактируемые пакеты?

Подробнее здесь: https://stackoverflow.com/questions/790 ... ges-in-pip

Вернуться в «Python»