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

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

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

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

30 ответов

25 просмотров

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

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

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта