Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 11, 2015 11:41:10

fshshsh
Зарегистрирован: 2015-10-08
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Как импортировать сторонние пакеты и модули?

За язык взялся недавно, только работу с типами изучал. Вот подошел к практике, хочу пару пакетов подключить, но не знаю как. В гугле пишут и про sys.path.append() вместо просто - import, и про добавление в системное окружение. А с импортом пакетов что-то еще сложнее - там еще фигурируют __init__.py (либо setup.py).

Для них не достаточно поместить их в папку со своей программой и в программе прописать их импорт?

Офлайн

#2 Окт. 11, 2015 11:56:39

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Как импортировать сторонние пакеты и модули?

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

fshshsh
В гугле пишут и про sys.path.append() вместо просто - import, и про добавление в системное окружение. А с импортом пакетов что-то еще сложнее - там еще фигурируют __init__.py (либо setup.py).
писец

fshshsh
Для них не достаточно поместить их в папку со своей программой и в программе прописать их импорт?
а вот зачем такое спрашивать ? ЧТо вам мешает потратить 1 минуту и сделать 2 маленьких файла и проверить самолично?
Достаточно.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Окт. 11, 2015 13:59:01

TitanFighter
Зарегистрирован: 2015-06-23
Сообщения: 99
Репутация: +  0  -
Профиль   Отправить e-mail  

Как импортировать сторонние пакеты и модули?

Лутц М. - Изучаем Python (4-е издание)- 2011, страница 641. Прочитайте главу и будет понятно.

Офлайн

#4 Окт. 11, 2015 14:47:37

fshshsh
Зарегистрирован: 2015-10-08
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Как импортировать сторонние пакеты и модули?

JOHN_16
ЧТо вам мешает потратить 1 минуту и сделать 2 маленьких файла и проверить самолично?
Переборщил с ленью

TitanFighter
Лутц М. - Изучаем Python (4-е издание)- 2011, страница 641. Прочитайте главу и будет понятно.
Спасибо. Нашел.

Офлайн

#5 Окт. 11, 2015 22:28:11

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

Как импортировать сторонние пакеты и модули?

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

А как импортировать модуль не лежащий на питоновских “путях”? На прямое указание пути к папке питон ругается…

Отредактировано Iskatel (Окт. 11, 2015 22:29:07)

Офлайн

#6 Окт. 12, 2015 01:07:26

TitanFighter
Зарегистрирован: 2015-06-23
Сообщения: 99
Репутация: +  0  -
Профиль   Отправить e-mail  

Как импортировать сторонние пакеты и модули?

Iskatel
А как импортировать модуль не лежащий на питоновских “путях”?
from importlib.machinery import SourceFileLoader
foo = SourceFileLoader("module_name", "/path/to/module.py").load_module()
foo.MyClass()

Отредактировано TitanFighter (Окт. 12, 2015 01:58:40)

Офлайн

#7 Окт. 12, 2015 01:35:01

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

Как импортировать сторонние пакеты и модули?

Iskatel
А как импортировать модуль не лежащий на питоновских “путях”? На прямое указание пути к папке питон ругается…

import sys
 
sys.path.append(path_to_dir)
Есть там ещё какой-то способ, когда пути снаружи редактируются в каком-то файле.



Отредактировано py.user.next (Окт. 12, 2015 01:35:22)

Офлайн

#8 Окт. 12, 2015 01:56:46

TitanFighter
Зарегистрирован: 2015-06-23
Сообщения: 99
Репутация: +  0  -
Профиль   Отправить e-mail  

Как импортировать сторонние пакеты и модули?

py.user.next
Есть там ещё какой-то способ, когда пути снаружи редактируются в каком-то файле.
Можно закинуть файл our_manual_paths.pth в …/lib/python3.4/site-packages
и в нем прописать пути к папке, где лежат нужные файлы, к примеру
K:\Source\Python\lib
Питон добавит этот путь для поиска модулей.

В папке K:\Source\Python\lib могут быть файлы к примеру
logger.py
fstools.py

Которые импортировать можно как обычно, т.е.
import logger

Отредактировано TitanFighter (Окт. 12, 2015 01:57:22)

Офлайн

#9 Окт. 12, 2015 06:14:48

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

Как импортировать сторонние пакеты и модули?

TitanFighter
Можно закинуть файл our_manual_paths.pth в …/lib/python3.4/site-packages
Да, почитал - в общем, не вариант.
Нужно локальные пути проекта иметь без всяких установок в питон.

Так что либо изменение sys.path, либо создание дерева пакетов (пусть даже с одним файлом в пакете).
Зато можно будет всё разложить по папкам и вызывать независимо от настроек питона.

TitanFighter
Можно закинуть файл our_manual_paths.pth в …/lib/python3.4/site-packages
Это если есть права на закидывание.



Отредактировано py.user.next (Окт. 12, 2015 06:17:11)

Офлайн

#10 Окт. 12, 2015 16:44:08

TitanFighter
Зарегистрирован: 2015-06-23
Сообщения: 99
Репутация: +  0  -
Профиль   Отправить e-mail  

Как импортировать сторонние пакеты и модули?

py.user.next
TitanFighter
Можно закинуть файл our_manual_paths.pth в …/lib/python3.4/site-packages
Это если есть права на закидывание.
Не вижу никаких проблем. Я пользуюсь virtualenv-ом, который создаю в домашней папке - права у юзера на свою папку полные.
Так же выше предложены 2 варианта, чтоб никуда ничего не кидать.

Отредактировано TitanFighter (Окт. 12, 2015 16:57:09)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version