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

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

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

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

30 ответов

20 просмотров

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

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
ты что не знаешь какие зависимости в коде использу...

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

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта