Не удается установить пакет секретов Python

#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 /