Как я могу остановить компиляцию файлов ресурсов, являющихся исходным кодом Python, с помощью pip?Python

Программы на Python
Ответить
Anonymous
 Как я могу остановить компиляцию файлов ресурсов, являющихся исходным кодом Python, с помощью pip?

Сообщение Anonymous »

У меня есть проект Python с плоским макетом, в котором есть несколько файлов ресурсов. Мой pyproject.toml содержит следующие записи:

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

[tool.setuptools]
packages = [
"linton",
"linton.subcommand",
]

[tool.setuptools.package-data]
linton = ["init-pages/**"]
и следующий макет:

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

linton
├── argparse_util.py
├── init-pages
│   ├── Author.in.txt
│   ├── body.in.md
│   ├── breadcrumb.in.py
│   ├── email.in.py
│   ├── Email.in.txt
│   ├── index.nancy.html
│   ├── lastmodified.in.py
│   ├── markdown-to-html.in.sh
│   ├── menudirectory.in.py
│   ├── pageinsite.in.py
│   ├── path-to-root.in.py
│   ├── Sample page
│   │   ├── body.in.md
│   │   └── index.nancy.html
│   ├── style.css
│   ├── template.in.html
│   └── Title.in.txt
├── __init__.py
├── __main__.py
├── subcommand
│   ├── init.py
│   ├── publish.py
│   └── serve.py
└── warnings_util.py
Обратите внимание на каталог init-pages: он содержит файлы ресурсов для команды linton init, которая, как и многие подобные инструменты, создает проект-шаблон (в этом случае веб-сайт) и копирует в него файлы (содержимое страниц инициализации).
Также обратите внимание, что страницы инициализации содержат некоторые файлы .py файлы.
Упаковка этого проекта работает нормально: исходные файлы и файлы ресурсов включены, как и ожидалось, с помощью pip.
Сюрприз Меня беспокоит то, что когда я pip install этого проекта, pip компилирует файлы .py в каталоге init-pages, хотя этот каталог не включен в пакеты и предназначен только для помечены как данные пакета.
Я не могу найти никакой документации о том, как pip решает, какие файлы компилировать побайтово при установке. Я могу отключить его глобально, но, конечно, я не хочу этого делать, и моим пользователям это не поможет.
Я также мог бы обойти эту проблему, создав linton init пропустить созданный каталог __pycache__ при копировании файлов ресурсов в проект пользователя. Но кажется неправильным, что они вообще существуют, и мне хотелось бы предотвратить это.

Подробнее здесь: https://stackoverflow.com/questions/791 ... led-by-pip
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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