Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 14, 2020 11:15:17

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Импорт своего модуля

doza_and
Создаете переменную PYTHONPATH
Не, она есть, конечно, но это такой способ, больше отладочный. Всё-таки нужно ставить пакет по всем канонам либо в виртуальное окружение, либо в системный питон. Имеется в виду пакет, который обязательно должен быть потом виден импортом в питоне.



Офлайн

#2 Июнь 15, 2020 10:21:34

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Импорт своего модуля

py.user.next
обязательно должен быть потом виден импортом в питоне.
Он и будет виден.

А что означает виден в питоне вопрос довольно интересный, особенно когда у вас много вируальных машин в них много питонов а в каждом питоне можно еще много разных virtualenv настроить. :).

Вы собственно написали что модуль у вас никаким образом не импортируется. И вы не можете с этим разобраться. Надо начать с простого, с PYTHONPATH.

Но конечно вам виднее, Делайте как считаете нужным.



Офлайн

#3 Июнь 15, 2020 17:39:32

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Импорт своего модуля

doza_and
Он и будет виден.

А что означает виден в питоне вопрос довольно интересный, особенно когда у вас много вируальных машин в них много питонов а в каждом питоне можно еще много разных virtualenv настроить. .
Любую программу бери на питоне из существующих (yum, dnf, youtube-dl). Когда она ставится, устанавливается в site-packages и потом доступна при импорте в этом питоне, в который поставилась.

[guest@localhost ~]$ for name in dnf yum youtube-dl openshot; do locate $name | awk '/lib.*\/python3/ {print; if (++n >= 3) exit}' ; done
/usr/lib/python3.6/site-packages/dnf
/usr/lib/python3.6/site-packages/dnf-plugins
/usr/lib/python3.6/site-packages/dnfdaemon
/usr/lib/python3.6/site-packages/yumex
/usr/lib/python3.6/site-packages/yumex_dnf-4.3.2-py3.6.egg-info
/usr/lib/python3.6/site-packages/dnf/yum
/usr/lib/python3.6/site-packages/youtube_dl-2018.11.18-py3.6.egg/etc/bash_completion.d/youtube-dl.bash-completion
/usr/lib/python3.6/site-packages/youtube_dl-2018.11.18-py3.6.egg/etc/fish/completions/youtube-dl.fish
/usr/lib/python3.6/site-packages/youtube_dl-2018.11.18-py3.6.egg/share/man/man1/youtube-dl.1
/usr/lib/python3.6/site-packages/openshot_qt
/usr/lib/python3.6/site-packages/openshot_qt-2.3.3-py3.6.egg-info
/usr/lib/python3.6/site-packages/openshot_qt/__pycache__
[guest@localhost ~]$

То есть переменная PYTHONPATH - древняя, временная мера. Костыль.

При куче программ на питоне в системе
[guest@localhost ~]$ echo $PYTHONPATH

[guest@localhost ~]$



Отредактировано py.user.next (Июнь 15, 2020 18:01:43)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version