Удалить пакет с файлами, отличными от Python, которых не было в дистрибутиве.Python

Программы на Python
Anonymous
Удалить пакет с файлами, отличными от Python, которых не было в дистрибутиве.

Сообщение Anonymous »

У меня есть приложение Python, которое было размещено на pypi, как описано здесь. Приложение запускает внешнее программное обеспечение (blast+) и генерирует файлы, отличные от Python (различные файлы базы данных и текстовые файлы, а также файл xml, который возвращается в приложение). В настоящее время моя структура каталогов (при установке с помощью pip в среду env):

Код: Выделить всё

lib/site-packages/app/file1.py...
после запуска это становится:

Код: Выделить всё

lib/site-packages/app/file1.py...xml_file.xml, db_file.txt, db_file.pdb ...
Когда я удаляю приложение:

Код: Выделить всё

Found existing installation: app 1.1a0
Uninstalling app-1.1a0:
Would remove:
c:\users\username\appdata\local\anaconda3\envs\app_env\lib\site-packages\app-1.1a0.dist-info\*
c:\users\username\appdata\local\anaconda3\envs\app_env\lib\site-packages\app\*
c:\users\username\appdata\local\anaconda3\envs\app_env\scripts\app.exe
Would not remove (might be manually added):
c:\users\username\appdata\local\anaconda3\envs\app_env\lib\site-packages\app\all_proteins.txt
c:\users\username\appdata\local\anaconda3\envs\app_env\lib\site-packages\app\all_proteins_db.pdb
c:\users\username\appdata\local\anaconda3\envs\app_env\lib\site-packages\app\all_proteins_db.phr
c:\users\username\appdata\local\anaconda3\envs\app_env\lib\site-packages\app\all_proteins_db.pin
c:\users\username\appdata\local\anaconda3\envs\app_env\lib\site-packages\app\all_proteins_db.pot
c:\users\username\appdata\local\anaconda3\envs\app_env\lib\site-packages\app\all_proteins_db.psq
c:\users\username\appdata\local\anaconda3\envs\app_env\lib\site-packages\app\all_proteins_db.ptf
c:\users\username\appdata\local\anaconda3\envs\app_env\lib\site-packages\app\all_proteins_db.pto
c:\users\username\appdata\local\anaconda3\envs\app_env\lib\site-packages\app\results.xml
Я думаю, это не такая уж большая проблема, поскольку файлы перезаписываются при каждом запуске, и если вы снова установите мое приложение, оно просто заново создаст исходную папку. Но я бы предпочел, чтобы ненужные файлы загромождали место и потенциально пугали новых пользователей сообщением «Не удалю». Есть ли способ указать, что пакет будет генерировать файлы и их следует удалить, если пакет находится (возможно, в pyproject.toml)?
(Если нет, я мог бы сделать пользователя также укажите локальный каталог для записи файлов, а не просто устанавливайте его как каталог, содержащий скрипт Python, связанный с созданием файлов, что я и делаю сейчас, но я бы предпочел сохранить пользовательский интерфейс как можно более простым.)

Подробнее здесь: https://stackoverflow.com/questions/787 ... stribution

Вернуться в «Python»