TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #203 · 18 јан.

Бывает начинающие в процессе обучения создают файлы с именем модуля который они изучают. В результате на тестовых запусках ничего не работает😱 Всё потому, что появилась коллизия имён. Например, изучаете вы модуль datetime, и создаёте с таким именем файл (ну логично же😄) прямо в рабочей директории. Потом, при попытке импортировать datetime модуль, из-за приоритета импорта будет импортирован файл из рабочий директории а не оригинальная библиотека. Ведь имя файла это суть имя модуля! А знаете ли вы, что не все стандартные модули можно так перезаписать? Коллизии имён не подвержены builtin модули. Они всегда стоят на первом месте в приоритете импорта, поэтому их нельзя заменить. Полный список таких модулей можно посмотреть в списке sys.builtin_module_names. То есть, вы сломаете весь Python если назовёте свой модуль os или site, но если назовёте time или gc то ничего страшного не случится))) Тем не менее, никогда не называйте модули уже занятыми именами!!!⚠️ Я всегда рекомендую всем своим файлам делать именной префикс из 2-3 символов. Например я называю свои проекты так: pw_project_name pw_ui_tools.py pw_something/main.py Либо под ситуацию tst_scriptname.py (не "test" чтобы не подхватывал pytest) dbg_script.py maya_ui.py hou_menu_tools.py И искать проще, и коллизий нет. #tricks#basic

Резултати

Пронајдени 1 слични објави

Пребарај: #executables

当前筛选 #executables清除筛选
djangoproject

@djangoproject · Post #225 · 15.01.2017 г., 07:15

http://www.pyinstaller.org/ #PyInstaller is a program that #freezes (#packages) Python programs into #stand_alone#executables, under Windows, Linux, Mac OS X, FreeBSD, Solaris and AIX. Its main advantages over similar tools are that PyInstaller works with Python 2.7 and 3.3—3.5, it builds smaller executables thanks to transparent compression, it is fully multi-platform, and use the OS support to load the dynamic libraries, thus ensuring full compatibility.