访问 class - python 包的方法时出错
error while accessing method of class - python package
我已经上传了一个简单的包到 https://testpypi.python.org/pypi 。
我已按照以下步骤操作,
python setup.py register -r https://testpypi.python.org/pypi
python setup.py sdist upload -r https://testpypi.python.org/pypi
然后将这个包下载到本地并使用安装命令执行setup.py。 ( 包裹 url https://testpypi.python.org/pypi/printlistonlynew/0.1 )
然后包就安装成功了。
这是包的结构和代码,
│ setup.py
│
└───listprint
stack.py
__init__.py
stack.py的内容是,
class Xyz:
def __init__(self,):
pass
def printList(self):
print [i for i in range(0,10)]
当我尝试从已安装的包中导入方法 printList 时出现错误,
AttributeError: Xyz instance has no attribute 'printList'
这是我要执行的代码,
from listprint import stack
x=stack.Xyz()
print x
print x.printList()
我在这里做错了什么?任何名称空间问题?
我已经下载了你的文件,但你有缩进问题。因为您混合使用制表符和空格,Python 正在考虑 printList
嵌套在 inside __init__
.
仅使用空格。
我已经上传了一个简单的包到 https://testpypi.python.org/pypi 。 我已按照以下步骤操作,
python setup.py register -r https://testpypi.python.org/pypi
python setup.py sdist upload -r https://testpypi.python.org/pypi
然后将这个包下载到本地并使用安装命令执行setup.py。 ( 包裹 url https://testpypi.python.org/pypi/printlistonlynew/0.1 ) 然后包就安装成功了。
这是包的结构和代码,
│ setup.py
│
└───listprint
stack.py
__init__.py
stack.py的内容是,
class Xyz:
def __init__(self,):
pass
def printList(self):
print [i for i in range(0,10)]
当我尝试从已安装的包中导入方法 printList 时出现错误,
AttributeError: Xyz instance has no attribute 'printList'
这是我要执行的代码,
from listprint import stack
x=stack.Xyz()
print x
print x.printList()
我在这里做错了什么?任何名称空间问题?
我已经下载了你的文件,但你有缩进问题。因为您混合使用制表符和空格,Python 正在考虑 printList
嵌套在 inside __init__
.
仅使用空格。