#python #virtualenv
#python #virtualenv
Вопрос:
У меня есть несколько зависимостей в проекте, указанном в requirements.txt
файле,
requests==2.18.4
secrets==1.0.2
PyYAML==3.12
Я хотел установить их и вызвал команду внутри virtualenv
,
$ pip install -r bin/requirements.txt
Я получаю сообщение, приведенное ниже,
Collecting requests==2.18.4 (from -r bin/requirements.txt (line 1))
Using cached https://files.pythonhosted.org/packages/49/df/50aa1999ab9bde74656c2919d9c0c085fd2b3775fd3eca826012bef76d8c/requests-2.18.4-py2.py3-none-any.whl
Collecting secrets==1.0.2 (from -r bin/requirements.txt (line 2))
Could not find a version that satisfies the requirement secrets==1.0.2 (from -r bin/requirements.txt (line 2)) (from versions: )
No matching distribution found for secrets==1.0.2 (from -r bin/requirements.txt (line 2))
Внутри virtualenv
я могу предоставить версии,
$ python -V
Python 3.7.2
$ pip -V
pip 19.0.3 from /Users/chaklader/PycharmProjects/Welance-Craft/env/lib/python3.7/site-packages/pip (python 3.7)
В чем здесь проблема?
Обновить
Мне пришлось удалить secrets
и обновить другие зависимости:
requests==2.21.0
PyYAML==3.13
Ответ №1:
Хотя существует пакет секретов, он очень старый (2012), имеет только одну версию, неработающий веб-сайт и никакой информации. Похоже, что он не устанавливается на Python 2.7 или 3.7.
Возможно, вместо этого вы пытаетесь использовать secrets
стандартную библиотеку, встроенную в Python 3.6 . Это не пакет, поэтому вам не нужно его устанавливать или добавлять в свой requirements.txt
, просто import secrets
. Если он вам нужен для более ранней версии, похоже, существует неофициальный бэкпорт.
Комментарии:
1. Я начинаю с Python спустя долгое время, и это действительно помогает мне.
Ответ №2:
При попытке установить пакет самостоятельно я получаю ту же ошибку.
Однако при поиске этого пакета на pypi.org похоже, что последняя выпущенная версия была в 2012 году, и ссылка там на домашнюю страницу проекта ведет на почти полностью пустую веб-страницу. Таким образом, я бы предположил, что этот пакет больше не существует.
Комментарии:
1. Мы используем
secrets
для генерации ключа:self.upc("security_key", secrets.token_hex(32))
. Вы не знаете, можем ли мы использовать какие-либо другие пакеты, которые могут служить той же цели? Возможно, проект немного устарел.2. Вы уверены, что не имеете в виду
secrets
стандартную библиотеку? Это не пакет, он встроен в Python 3.6 .
Ответ №3:
Теперь существует бэкпорт модуля secrets для Python 2.7, 3.4 и 3.5 под названием python2-secrets. (на мой взгляд, название немного сбивает с толку)
Установка:
pip install --user python2-secrets
Ответ №4:
Недавно я столкнулся с такой же проблемой (2022) и решил это с помощью
pip install python-secrets
смотрите документацию в https://pypi.org/project/python-secrets /