Я думаю, что нашел "особенность", где при некоторых странных условиях pip
перечисляет пакет как установленный, хотя это не так. Если бы кто-то мог объяснить мне, что происходит - это было бы хорошо. Вот шаги для воспроизведения:
настройка двух сред python: $ python3 -m venv env_1 && python3 -m venv env_2
получите любой обычный пакет python с setup.py для установкиЯ лично использовал первое, что нашел в интернете: $ git clone https://github.com/BillMills/python-package-example.git
активировать env_1: $ . env_1/bin/activate
установить пакет, который выполучил в качестве пакета разработки : $ pip install -e python-package-example
деактивировать env_1, активировать env_2: $ deactivate && . env_2/bin/activate
зайти внутрьиз пакета, который вы только что установили для env_1 и перечислите установленные пакеты (для env_2): $ cd python-package-example && pip list
По любой причине это показывает пример пакета python как уже установленный. Работает только тогда, когда вы находитесь внутри этой папки, и только после того, как вы установили его один раз как пакет разработки.
PS python3 -m pip show python-package-example
в env_1
показывает:
Name: python-package-example
Version: 0.1
Summary: An example python package
Home-page: https://github.com/BillMills/python-package-example
Author: Bill Mills
Author-email: myemail@example.com
License: MIT
Location: /home/esrlabs/Workspace/testing/bash/test/python-package-example
Requires: numpy
Required-by:
То жезапрос в env_2
возвращает WARNING: Package(s) not found: python-package-example
вне python-package-example
и возвращает то же самое, что и для env_1
, находясь в этой папке.