Я пытаюсь установить последнюю версию (0.0.7
) пакета https://pypi.org/project/revolutionhtl/ с помощью команды
pip install revolutionhtl
После запуска этой команды установленной версией будет 0.0.4
. Ниже вы можете увидеть вывод команды, обратите внимание, что третья строка говорит Using cached revolutionhtl-0.0.7-py3-none-any.whl (29 kB)
, поэтому кажется, что pip определяет версию 0.0.7
, тем не менее, она не установлена.
Defaulting to user installation because normal site-packages is not writeable
Collecting revolutionhtl
Using cached revolutionhtl-0.0.7-py3-none-any.whl (29 kB)
Collecting networkx>=2.8
Using cached networkx-3.0-py3-none-any.whl (2.0 MB)
Collecting numpy>=1.22.3
Using cached numpy-1.24.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.3 MB)
Requirement already satisfied: tqdm>=4.63.0 in /usr/lib/python3/dist-packages (from revolutionhtl) (4.64.0)
Collecting pandas>=1.4.2
Using cached pandas-1.5.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.1 MB)
Collecting revolutionhtl
Using cached revolutionhtl-0.0.6-py3-none-any.whl (29 kB)
Using cached revolutionhtl-0.0.5-py3-none-any.whl (29 kB)
Using cached revolutionhtl-0.0.4-py3-none-any.whl (29 kB)
Installing collected packages: revolutionhtl
Successfully installed revolutionhtl-0.0.4
Также я попробовал с командой pip install revolutionhtl==0.0.7
, получив на выходе:
Defaulting to user installation because normal site-packages is not writeable
Collecting revolutionhtl==0.0.7
Using cached revolutionhtl-0.0.7-py3-none-any.whl (29 kB)
ERROR: Could not find a version that satisfies the requirement itertools (from revolutionhtl) (from versions: none)
ERROR: No matching distribution found for itertools
Что мне делать, чтобы установить версию 0.0.7
?
Моя версия Python: 3.10.9.
$ pip --version
pip 22.3 from /usr/lib/python3/dist-packages/pip (python 3.10)
Поскольку для Revolutionhtl требуется python >= 3.7, проблема не должна быть в моем python.
🤔 А знаете ли вы, что...
Python активно используется в научных и инженерных вычислениях.
Похоже, что пакет устанавливается в каталог пользователя, в котором у вас нет прав на запись. Вот почему pip по умолчанию устанавливается пользователем.
Попробуйте использовать команду pip install --user revolutionhtl==0.0.7
, чтобы установить его в каталог пользователя, где у вас есть права на запись.
Кроме того, похоже, что отсутствует пакет itertools, который требуется пакету Revolutionhtl.
Попробуйте установить itertools, запустив pip install itertools
перед установкой Revolutionhtl.
Если вы по-прежнему сталкиваетесь с проблемами, попробуйте удалить любую существующую версию пакета перед установкой последней версии, запустив pip uninstall revolutionhtl
.
Я связался с создателем пакета. Мы увидели, что проблема заключалась в списке зависимостей пакета. В файле pyproject.toml
было указано следующее:
dependencies = [
"networkx >= 2.8",
"pandas >= 1.4.2",
"argparse >= 1.1",
"os",
"numpy >= 1.22.3",
"tqdm >= 4.63.0",
"itertools",
"collections",
]
После удаления argparse
, os
, itertools
и collections
проблема исчезла. Я предполагаю, что это работает, потому что эти пакеты являются частью стандартной библиотеки Python, а затем они не отображаются в pypi.
Вы можете увидеть исправление в этой ссылке, теперь я могу скачать последнюю версию (0.0.8) с помощью pip install revolutionhtl
.