tl;dr-我的python包需要import package.package
,而不是只使用import package
。如何让它与后者一起工作
我试图设置我的第一个python包,但在导入过程中遇到了一些问题
在我的计算机上,我的python包文件设置如下所示:
my-package
- build
- dist
- package
- package.egg-info
- LICENSE
- README.md
- Setup.py
在package
的内部是:
__init__.py
package.py
__init__.py
读取name = 'package'
,package.py
包含包的所有内容
编辑:我尝试过使用各种不同版本的__init__.py
,包括在name = 'package'
行下面添加import package
、import package.package
或import package.package as package
,但都导致了相同的问题
使用Packaging Python Projects教程,我已经能够将我的包上载到TestPyPi,但是当我将包安装到我的计算机上时,没有可用的函数/方法,当我运行“import package”并执行help(package)
时,我得到以下结果:
Help on package package:
NAME
package
PACKAGE CONTENTS
package
DATA
name = 'package'
FILE
url/to/package
当我运行import package.package
和help(package)
时,我可以访问方法/函数,并获取包内容的预期帮助文本
我的问题是,如何在我的计算机上配置包文件,使它一旦上传到TestPyPi,然后下载,import package
工作,而不需要运行import package.package
当您写入
import package
时,您可以访问package/__init__.py
中的名称作为package.foo
因此,在
__init__.py
内部,如果您从package.py
导入所有必需的函数/变量/etc,这些名称将对只import package
的客户机可见所以,如果你在
package/__init__.py
中有这个:然后在其他代码中可以执行以下操作:
你不必担心
from package.package import foo
相关问题 更多 >
编程相关推荐