Как я могу включить установленный модуль pip с моим скриптом Python?
Я написал программу шифрования в Python 3.6, которая использует модуль pycryptodome
Конкретно это импорт:
from Crypto.Cipher import AES
from Crypto.Hash import SHA256
from Crypto.Random import get_random_bytes
Программа работает, но ее нельзя использовать без установки пользователем pycryptodome
модуль сам.
Можно ли как-то включить этот пакет или я могу создать "первоначальную настройку", чтобы установить его для конечного пользователя?
1 ответ
Короткий ответ - как уже упоминалось в комментариях - вам нужно упаковать свой скрипт.
Длинный ответ - я был там раньше в первый раз - это раздражает. Способ упаковки модулей и скриптов Python постоянно развивается, и не вся имеющаяся документация постоянно обновляется. Вы можете легко прочитать недавнюю документацию, которая к моменту чтения уже содержит ошибки (т.е. устарела).
Самый простой подход, не опускаясь до конца, это простой файл для pip
, который описывает зависимости вашего проекта. Это называется requirements.txt
, Актуальную информацию можно найти здесь.
Если этого недостаточно, вы должны упаковать свою заявку. Хороший, но мало поддерживаемый и несколько устаревший обзор / введение можно найти здесь. Это хорошо для начала, но НЕ пытайтесь следовать этому письму! Еще одно устаревшее руководство для начинающих, которое часто цитируют, можно найти здесь. Прочитайте его для понимания и не пытайтесь следовать этому письму.
Как только вы дойдете до этой точки, пришло время прочитать "Что, черт возьми? - Путешествие по девяти кругам упаковки Python". Это дает много практических советов. Самый практичный из всех: посмотрите, как это делают другие проекты, и скопируйте и вставьте... эм... извлекать уроки из этого.
Если вы не напуганы до сих пор, я могу порекомендовать посмотреть на шаблоны модулей Python. Один из лучших, которые я знаю, это "CookiePuter PyPackage". Его хорошо поддерживаемая документация доступна здесь. Если вы изучили основы упаковки Python, это быстрый и надежный способ создания всех файлов и инфраструктуры, необходимых для упаковки вашего кода.
Похвальный отзыв: есть инструменты, которые пытаются упростить весь процесс. Номер один в моем списке, который также упоминается в комментариях, - это PyInstaller ( руководство). Другой инструмент (для Windows), который обычно упоминается, - это py2exe (обновленная документация недоступна, AFAIK). Еще один перспективный и перспективный (но еще не готовый к работе?) Инструмент - это портфель ( документация). Их больше, но у всех есть свои проблемы. Есть большая вероятность, что вы в конечном итоге прочитаете вышеупомянутую литературу, пытаясь понять эти проблемы...