170 похожих чатов

Щас читаю вот эту статью: https://habr.com/ru/company/yandex/blog/499534/ И там есть вот такие слова Стоит

отметить, что setuptools при сборке source distribution по умолчанию включает в сборку только файлы .py, .c, .cpp и .h. Чтобы файлы с зависимостями requirements.txt и requirements.dev.txt попали в пакет, их необходимо явно указать в файле MANIFEST.in

Для этого достаточно объявить файл или нужно еще где-то куда-то что-то дописать?

30 ответов

2 просмотра

чекни там репа есть

Steel-Sword Автор вопроса
denis
чекни там репа есть

Я прочитал, попробовал - создал MANIFEST.in файл, написал туда include project/alembic.ini. Не копирует. Может, там какой-то параметр в setup() нужен?

Steel Sword
Я прочитал, попробовал - создал MANIFEST.in файл, ...

project это пакет? или директория, в которой лежит setup.py?

Steel-Sword Автор вопроса
Alex
project это пакет? или директория, в которой лежит...

пакет. Я наугад добавил include_package_data=True в setup(), и всё заработало.

мдэ, тягать зависимости из requirements. и нахрена?

Steel Sword
пакет. Я наугад добавил include_package_data=True...

ты дистрибутивы какого формата собираешь? проверь оба два (sdist и wheel) потому что include_package_data может быть недостаточно для одного из них, на вскидку не помню точно.

Steel Sword
А что?

а то что это бессмысленно выносить install_requires в отдельный файл, чтобы потом костылями его оттуда читать.

Steel Sword
А как надо?

install_requires=[список зависимостей]

Alex
install_requires=[список зависимостей]

а вообще можно уже отказаться от императивного setup.py и воспользоваться благами PEP 517 \ PEP 518 и использовать декларативный стиль или любой другой тулчейн по вкусу

Steel-Sword Автор вопроса
Alex
install_requires=[список зависимостей]

Но так надо будет вручную все зависимости писать. А если из файла читать, то можно $ pip3 freeze > requirements.txt $ python3 setup.py bdist_wheel

Steel-Sword Автор вопроса
Tishka17
нельзя

с некоторыми оговорками да, для editable install емнип еще не все поддерживается.

Steel Sword
И почему же?

1. если ты собираешь библиотеку, тебе нужны диапазоны версий, а не прибитые гвоздями номера версий. 2. pip freeze генерирует весь список зависимостей включая транзитивные.

Steel-Sword Автор вопроса
Alex
1. если ты собираешь библиотеку, тебе нужны диапаз...

1. Можно взять и отредактировать файл. 2. 1. Я например не всегда помню, какие зависимости у меня скачены. Например про SQLAlchemy помню, а про asyncpg - нет, потому что скачал и забыл. И если сперва писать в файл, а потом его редактировать, то будет либо идеально, либо будет перекос в черезмерную подробность, а не в недостаточную. С недостаточной ты сдохнешь, а с черезмерной - нет. По крайней мере это что я пока для себя вывел. Или можно как-то иначе всё не забывать?

Steel Sword
1. Можно взять и отредактировать файл. 2. 1. Я на...

что "2.1"? Если у тебя нет отдельно написанного списка прямых зависимостей, ты никогда не сможешь обновить транзитивные корректно

Steel-Sword Автор вопроса
Steel-Sword Автор вопроса
Tishka17
ниухя не получится

Как-то вы все вяло сегодня аргументируете 😁

Steel Sword
Как-то вы все вяло сегодня аргументируете 😁

вот ты сделал pip freeze и получил список a==1.1 b==2 что дальеш?

Steel-Sword Автор вопроса
Tishka17
вот ты сделал pip freeze и получил список a==1.1 ...

Буду вспоминать, что из этого скачал я (еще найду либу, которую я поставил и забыл, какой-нибудь python-dotenv), заменю == на ~==... Короче ладно, убедили. Если в файл писать и из него читать, то неоднозначностей больше.

Steel Sword
1. Можно взять и отредактировать файл. 2. 1. Я на...

ты что не знаешь какие зависимости в коде используешь? шта?

Steel-Sword Автор вопроса
Alex
ты что не знаешь какие зависимости в коде использу...

Я риски сравнивал. Забыть можно что-угодно. Но вы меня убедили, лучше в файл не писать

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
11
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
Карта сайта