@ru_python

Страница 4326 из 9768
Nikolay
08.12.2017
10:25:26
имя пакета ты вряд ли будешь менять

окей ты завязываешься на имя пакета - это и есть более сильная связь
лол, то есть в проектах типа django нельзя завязываться на то, что имя корневого пакета - django?

Nikolay
08.12.2017
10:26:14
если хоть один сторонний кусок кода от твоего пакета зависит - ты не будешь менять имя пакета

Google
Nikolay
08.12.2017
10:26:21
поэтому и нет проблем на него завязаться

Maxim robox
08.12.2017
10:26:33
Аргумент не засчитан.

Nikolay
08.12.2017
10:26:51
Я проверил. Рефакторинг это учитывает и переделывает на абсолютный.
молодцы джетбрейнс, защищают людей от выстрела в ногу

Аргумент не засчитан.
ну как не защитал, если даже IDE импорты чинит на нормальные?

Artyem
08.12.2017
10:27:12
если хоть один сторонний кусок кода от твоего пакета зависит - ты не будешь менять имя пакета
жесть, ты завязан только на те сценарии использования с которыми сталкивался, и упёрся в них рогом

Nikolay
08.12.2017
10:27:32
жесть, ты завязан только на те сценарии использования с которыми сталкивался, и упёрся в них рогом
один питонопакет зависит от другого - охренеть! какой редчайший сценарий!

никогда в проде такого не видел!

Artyem
08.12.2017
10:28:07
один питонопакет зависит от другого - охренеть! какой редчайший сценарий!
кто и где тебе предложил в этом случае использовать относительные импорты?

Nikolay
08.12.2017
10:28:31
кто и где тебе предложил в этом случае использовать относительные импорты?
а, то есть ты заранее знаешь, будет ли твой код где-то реюзаться?

это забавно

Artyem
08.12.2017
10:29:10
в том что я пишу на работе да знаю

Nikolay
08.12.2017
10:29:25
в том что я пишу на работе да знаю
нет, не знаешь. Ты этого по определению никогда не можешь знать

Google
Nikolay
08.12.2017
10:29:34
поэтому проще сразу писать более корректно

Maxim robox
08.12.2017
10:30:51
В two scoops of django тоже рекомендуют относительные импорты. Это относительно джанго, конечно.

Nikolay
08.12.2017
10:31:14
Maxim robox
08.12.2017
10:31:35
Хейтить

Nikolay
08.12.2017
10:32:23
я не хейчу, просто раньше у них вообще рекомендовалось в settings.py делать sys.path.insert(0, os.path.dirname(file))

Nikolay
08.12.2017
10:32:48
это прям былинный отказ

Maxim robox
08.12.2017
10:33:04
поэтому проще сразу писать более корректно
Лол. Так корректнее как раз писать относительные импорты. Такой модуль проще переиспользовать.

Nikolay
08.12.2017
10:33:39
asincio норм?
ты, видимо, про asyncio? какое отношение асинхронная библиотека для кооперативной многозадачности имеет к веб-фреймворку?

мы это выше как раз выяснили

проще с абсолютными

Artyem
08.12.2017
10:34:55
ты, видимо, про asyncio? какое отношение асинхронная библиотека для кооперативной многозадачности имеет к веб-фреймворку?
к веб фреймворку никакого, к относительным импортам прямое: \asyncio\__init__.py """The asyncio package, tracking PEP 3156.""" import sys # The selectors module is in the stdlib in Python 3.4 but not in 3.3. # Do this first, so the other submodules can use "from . import selectors". # Prefer asyncio/selectors.py over the stdlib one, as ours may be newer. try: from . import selectors except ImportError: import selectors # Will also be exported. if sys.platform == 'win32': # Similar thing for _overlapped. try: from . import _overlapped except ImportError: import _overlapped # Will also be exported. # This relies on each of the submodules having an __all__ variable. from .base_events import * from .coroutines import * from .events import * from .futures import * from .locks import * from .protocols import * from .queues import * from .streams import * from .subprocess import * from .tasks import * from .transports import *

Maxim robox
08.12.2017
10:35:07
проще с абсолютными
Ты там сказал что-то про иде. Я уже сказал тебе, что рефакторинги нормально отрабатывают. Хотя это вообще неправильно завязываться на фишки инструмента. Абсолютные импорты придется переписывать. Относительные не придется.

Если мы двигаем весь пакет.

Tigran
08.12.2017
10:35:36
from .something import * в init.py - это тот единственный случай, когда я использую относительные импорты

Nikolay
08.12.2017
10:36:01
не очень понимаю, зачем топить за то, чему есть явный контрпример

Google
Nikolay
08.12.2017
10:37:07
Maxim robox
08.12.2017
10:37:36
где?
https://t.me/ru_python/432490

Nikolay
08.12.2017
10:38:12
https://t.me/ru_python/432490
ты сам же ниже написал, что ide для тебя это делает. А если не IDE - то sed, например

более того, IDE сама переделывает относительные в абсолютные, как ты сам выяснил

Artyem
08.12.2017
10:38:42
и что? в стандартной библиотеке питона довольно много говнокода, ты это хотел сказать?
нет, я думаю что ты слишком много на себя берёшь, заявляя о неоспоримом преимуществе абсолютного импорта над относительным.

Nikolay
08.12.2017
10:38:45
ты их будешь обратно исправлять после этого?

Nikolay
08.12.2017
10:39:33
нет, я думаю что ты слишком много на себя берёшь, заявляя о неоспоримом преимуществе абсолютного импорта над относительным.
я не говорю, что оно неоспоримое. Я написал, что вижу логику в использовании только абсолютного и привел несколько примеров.

Maxim robox
08.12.2017
10:39:53
Переделает, если мы разносим два фала по разным модулям. Если мы оставили их вместе, то не переделает.

Nikolay
08.12.2017
10:40:06
Nikolay
08.12.2017
10:40:31
Переделает, если мы разносим два фала по разным модулям. Если мы оставили их вместе, то не переделает.
а если использовать абсолютные - тогда и думать об этом не надо будет вообще

Artyem
08.12.2017
10:40:54
я не говорю, что оно неоспоримое. Я написал, что вижу логику в использовании только абсолютного и привел несколько примеров.
где-то тут я наверно окончу участие в дискуссии на данную тему, маловероятно что мы придём к консенсусу ^^

Nikolay
08.12.2017
10:40:55
особенно если у тебя в проекте может быть несколько файлов с одинаковыми именами

Maxim robox
08.12.2017
10:41:07
а если использовать абсолютные - тогда и думать об этом не надо будет вообще
Надо. Ты завязываешься на текущую структуру каталогов. С относительными — нет.

Nikolay
08.12.2017
10:41:09
тогда это вообще может привести к диким проблемам

написал в импорте одну точку вместо двух - получил трудноотлавливаемый баг

нафиг нужна вам такая свистопляска - я не понимаю

Google
Maxim robox
08.12.2017
10:42:21
наоборот же
Ты послушай, что ты говоришь. Только вдумайся. =) Ты говоришь, что относительные пути завязываются на структуру. ОТНОСИТЕЛЬНЫЕ, карл.

Nikolay
08.12.2017
10:43:03
Ты послушай, что ты говоришь. Только вдумайся. =) Ты говоришь, что относительные пути завязываются на структуру. ОТНОСИТЕЛЬНЫЕ, карл.
разумеется! для тебя это неочевидно? в относительных ты жестко завязываешься на структуру в КАЖДОМ сраном модуле, потому что тебе надо знать, где конкретно относительно текущего файла лежат другие

а в случае абсолютных у тебя есть одна строчка от корня, которую можно sed'ом по всему проекту заменить

Maxim robox
08.12.2017
10:43:58
а в случае абсолютных у тебя есть одна строчка от корня, которую можно sed'ом по всему проекту заменить
В случае абсолютных тебе так же надо знать, где какой файл лежит. Только не только знать, но еще и пути указать.

b0g3r
08.12.2017
10:44:18
А куда Саша пропал?

dmks
08.12.2017
10:44:29
Сдался

Admin
ERROR: S client not available

dmks
08.12.2017
10:44:45
ПРосто обмазывается нодой и пытается забыть Колю

Nikolay
08.12.2017
10:44:49
В случае абсолютных тебе так же надо знать, где какой файл лежит. Только не только знать, но еще и пути указать.
в случае абсолютных у меня одна строчка всегда и везде, поменял структуру - заменил одну и ту же строчку везде, поиском, одним тыком

b0g3r
08.12.2017
10:44:52
Чет я даже не заметил его пропажи

Nikolay
08.12.2017
10:45:08
А куда Саша пропал?
он теперь политическую повестку дня обсуждает у нас в нердочатике

Maxim robox
08.12.2017
10:45:12
Я не говорю, что всегда надо брать относительные пути. Но в случае, когда мы говорим про рядомлежащие файлы, это более, чем уместно, на мой взгляд.

Nikolay
08.12.2017
10:45:38
Я не говорю, что всегда надо брать относительные пути. Но в случае, когда мы говорим про рядомлежащие файлы, это более, чем уместно, на мой взгляд.
в случае, если ты мыслишь в терминах пакета, а не файлов на файловой системе, абсолютные гораздо удобнее и практичнее

а ты еще спрашиваешь, "где там завязка на фс"

Nikolay
08.12.2017
10:46:51
Я не знаю, как можно абстрагироваться от ФС.
не использовать относительные импорты, например

пусть за тебя работу делает PYTHONPATH и интерпретатор

Maxim robox
08.12.2017
10:48:54
ты .. не используешь?
По своей инициативе — нет. Только в одном проекте, где уже было так написано.

Google
Nikolay
08.12.2017
10:49:15
меня один раз хотели подрядить на фриланс-проект на питоне

я напрягся уже тогда, когда мне эйчар сказала, что тимлид использует только строго джаббер

f1nnix
08.12.2017
10:50:17
Nikolay
08.12.2017
10:50:20
и этот самый тимлид мне исходники проекта прислал по джабберу в zip-архивчике, потому что "svn у нас что-то лежит"

и в этом архивчике была папка с кастомными скриптами сборки на коленке, которая за собой тащила модифицированный руками здоровенный питонопакет на основе zope

причем код, который предлагалось править, импортировал что-то по относительному пути изнутри этого монстра, который, как подразумевалось, лежал рядом

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

Izy
08.12.2017
11:24:59
блять

При работе с Pandas там можно так же как и файлами //, если естть то открыть csv если нету то создать

?

Gennady
08.12.2017
11:26:01
да

Nikolay
08.12.2017
11:26:24
видимо, первыми двумя изданиями легко научить не получилось

Izy
08.12.2017
11:28:15
бр а типо проверка там ну как с файлами )) незя )) блин ну ладно спасибо)) буду знать

Артем
08.12.2017
11:29:23
Ребят подскажите как в windows после установки (через pip) запускать проект или там entry_points не компилится? Чертова винда всю душу!!! вымотала((

Страница 4326 из 9768