Найти - Пользователи
Полная версия: импорт функции из установленного пакета
Начало » Python для новичков » импорт функции из установленного пакета
1 2
thugnificent
я установил пакет(python egg), в папке \site-packages он проявился, проверил установку через yolk -l вроде все нормально(пишет clas - 2.0.0 - active). и собственно вопрос: как из установленного пакета импортировать функцию func() (не из папки с модулем а из любого места), а то уже все from и import перепробовал?
вот содержимое module.py (файла для установки):
class ree(object):
def __init__(self):
self.__q__ = self.func()
def func(self):
print u“Я версия 2.0.0!”
return
заранее всем спасибо большое!)
да, и содержимое setup.py:
from setuptools import setup, find_packages
setup(
name = “clas”,
version = “2.0.0”,
description = u“я версия 2.0.0”,
license = “BSD”,
author = u“new”,
author_email = “new@gmail.com”,
packages = find_packages(),
)
doza_and
thugnificent
а то уже все from и import перепробовал?
Так напишите какие варианты пробовали в какой файл это было записано и какое сообщение об ошибке.
Rodegast
У вас func() это не функция, а метод класса. Надо так:
def func():
print u"Я версия 2.0.0!"

class ree(object):
def __init__(self):
self.__q__ = self.func()
thugnificent
пробую в shell
>>> import module
>>> r = module.ree()

Traceback (most recent call last):
File “<pyshell#1>”, line 1, in <module>
r = module.ree()
AttributeError: ‘module’ object has no attribute ‘ree’
>>>

или

>>> from module import ree

Traceback (most recent call last):
File “<pyshell#2>”, line 1, in <module>
from module import ree
ImportError: cannot import name ree
>>>
thugnificent
Rodegast
попробовал так, выдает:

>>> import module
>>> from module import func

Traceback (most recent call last):
File “<pyshell#21>”, line 1, in <module>
from module import func
ImportError: cannot import name func
>>>
doza_and
1 вы зря помоему файл назвали module - это меня сильно путает.
2 проверьте переменную окружения pythonpath Если в путях модуля нет он и не загрузится.
s0rg
а если так:
import module
dir(module)
?
thugnificent
файл module.py есть
>>> import module
>>> dir(module)


или

>>> import module
>>> print module
<module ‘module’ from ‘C:\Python27\lib\site-packages\clas-2.0.0-py2.7.egg\module\__init__.pyc’>
>>>
s0rg
thugnificent
нет у вашего модуля ни функции ни класса ree.

print module.__file__
print module.__path__
?
doza_and
Во сделал
from module import ree
youReefunc=ree.func
b=ree()
youReefunc(b)
Избегать импорта ree не имеет смысла - без создания экземпляра все равно не получится вызвать функцию.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB