Форум сайта python.su
я установил пакет(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(),
)
Офлайн
thugnificentТак напишите какие варианты пробовали в какой файл это было записано и какое сообщение об ошибке.
а то уже все from и import перепробовал?
Офлайн
У вас func() это не функция, а метод класса. Надо так:
def func():
print u"Я версия 2.0.0!"
class ree(object):
def __init__(self):
self.__q__ = self.func()
Офлайн
пробую в 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
>>>
Офлайн
Rodegastпопробовал так, выдает:
Офлайн
1 вы зря помоему файл назвали module - это меня сильно путает.
2 проверьте переменную окружения pythonpath Если в путях модуля нет он и не загрузится.
Отредактировано (Дек. 25, 2011 10:31:42)
Офлайн
а если так:
import module
dir(module)
?
Офлайн
файл 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’>
>>>
Офлайн
thugnificentнет у вашего модуля ни функции ни класса ree.
Отредактировано (Дек. 25, 2011 10:36:08)
Офлайн
Во сделал
from module import ree
youReefunc=ree.func
b=ree()
youReefunc(b)
Офлайн