#python #heroku
#python #heroku
Вопрос:
Я использую скрипт python для создания zip-файлов с использованием 7zip в Windows
Но не в Heroku .. в Heroku я должен установить приложение 7zip. как я это делаю, используя sudo
Я использую apt-get install 7zip-full
heroku bash. но ниже приведена моя ошибка возврата:
$ apt-get install p7zip-full
apt-get install p7zip-full
Reading package lists... Done
Building dependency tree
Reading state information... Done
W: Not using locking for read only lock file /var/lib/dpkg/lock-frontend
W: Not using locking for read only lock file /var/lib/dpkg/lock
E: Unable to locate package p7zip-full
Теперь мой вопрос:
Как установить 7zip на heroku?
Комментарии:
1. Как вы используете 7-zip? Выкладывание, вероятно, не самый эффективный способ сделать это, и, вероятно, существуют библиотеки Python, которые позволяют вам работать с такими файлами, не имея
7za
доступного двоичного файла.2. В любом случае, вы не можете использовать
apt
(или что-либо подобное) на Heroku. Ваши зависимости должны быть объявлены как часть вашего приложения, например, вrequirements.txt
файле и / или предоставлены buildpack.3. @Chris Я вижу подпроцесс. вызывайте как
rc = subprocess.call(['7z', 'a', '-mx=9','-t7z', zip_file_pw, '-mhe', '-y', OutPutArchive] [filename])
4. @Chris Я хочу zip-файл, защищенный паролем … но, к сожалению, это невозможно сделать обычной библиотекой ……. могу ли я создать архив с паролем, используя внутреннюю библиотеку Python?
5. Не с помощью встроенного, но, похоже, есть другие варианты . Если вы все еще хотите использовать 7-zip, вы можете попробовать добавить тот, который устанавливает 7-zip .
Ответ №1:
если вы хотите использовать 7zip на Heroku
, вот сборка 7zip
https://github.com/opendoor-labs/heroku-buildpack-p7zip
используйте это официальное руководство по Heroku https://devcenter.heroku.com/articles/buildpacks чтобы узнать, как добавить buildpacks или просто использовать следующую команду
heroku buildpacks:установите <buildpack-url> -a <название приложения>
Buildpack: url — это просто URL вашего buildpack на github для вас или любого другого, также это может быть официальное название пакета сборки
Название приложения относится к имени, которое вы присвоили приложению
также вы можете использовать следующее, если вы не хотите использовать командную строку
перейдите на панель мониторинга -> выберите свое приложение -> прокрутите вниз, пока не увидите раздел buildpack с кнопкой добавить buildpack введите указанную ссылку 7zip buildpack на GitHub и готово
также есть альтернатива 7zip для python3 py7zr
Комментарии:
1. Поскольку существует вероятность того, что ссылка Heroku однажды может отключиться, в вашем ответе лучше всего предоставить краткое описание шагов командной строки, которые необходимо предпринять
2. даже на сайте смены heroku я предоставил альтернативные методы, поэтому не беспокойтесь, все же я обновил ответ mt