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

O/ Реально питоном тянуть внешние модули с гита и запускать в

коде?
Понятно что реально, может кто-то пробовал.
Правильно понимаю, что сначала клонирую, потом импортирую конкретный файл. Должно же сработать, так?

18 ответов

26 просмотров

pip умеет ставить пакеты с гита

TΔU-LΣX Автор вопроса
Const
pip умеет ставить пакеты с гита

Нет, мне нужно конкретный файл, без установки пакета. Динамически так сказать

Тянуть питоном - это в смысле прямо во время работы программы?

TΔU-LΣX Автор вопроса
evle
Тянуть питоном - это в смысле прямо во время работ...

да, или во время инициализации. По сути нужно выделить код в приватный репо для защиты от копирования.

TΔU-LΣX Автор вопроса
TΔU LΣX
да, или во время инициализации. По сути нужно вы...

Ты дольше будешь с этим баловством ковыряться, чем такая "защита от копирования" продержится.

На днях тут один чувак бился венвами пытаясь и копировать из контейнера в контейнер, так вот там у него зависимости из кода ставились

TΔU LΣX
да, или во время инициализации. По сути нужно вы...

А каким образом питон должен тянуть код из приватного репо?

TΔU LΣX
да, или во время инициализации. По сути нужно вы...

Вообще технически - тянем файл, берём в руки importlib - и понеслось. Но дьявол в деталях, как обычно.

TΔU LΣX
да, или во время инициализации. По сути нужно вы...

Не очень понятно, как это защитит от копирования

TΔU-LΣX Автор вопроса
Andrey
Не очень понятно, как это защитит от копирования

Ни как. Просто на проде есть доступ к приватному репо, а у исполнителя нет

TΔU LΣX
Ни как. Просто на проде есть доступ к приватному р...

А, то есть исполнителю даётся в руки документация на некую либу, а сама либа — нет?

TΔU-LΣX Автор вопроса
Andrey
А, то есть исполнителю даётся в руки документация ...

Там имплементация интерфейса программного. Типа DI. Соответственно есть тупая реализация

TΔU LΣX
Там имплементация интерфейса программного. Типа DI...

Ну тогда это решается пакетированием кода и двумя вариантами пакета. Одна отдаётся наружу, вторая ставится только на проде. Опционально можно даже приватный package index рядом с продом поднять, чтобы проще было ставить

TΔU LΣX
screenshot Типа такого на гитлабе?

Можно и так, там вроде питоновские registry есть. Можно вообще два registry завести, один публичный с наивной реализацией, второй приватный с полноценной реализацией с доступом только для деплоера прода. Тогда отличие будет вообще только в конфигурации пипа

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

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

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...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
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
Карта сайта