Python 尝试在使用setup.py安装脚本后在非软件包中进行相对导入
我有这个目录结构Python 尝试在使用setup.py安装脚本后在非软件包中进行相对导入,python,setuptools,Python,Setuptools,我有这个目录结构 parent/ child/ __init__.py sibling1.py sibling2.py setup.py 这是我的setup.py from setuptools import setup setup(name='parent', version='0.1', packages=['child'], scripts = ['child/sibling1.py'],
parent/
child/
__init__.py
sibling1.py
sibling2.py
setup.py
这是我的setup.py
from setuptools import setup
setup(name='parent',
version='0.1',
packages=['child'],
scripts = ['child/sibling1.py'],
)
在sibling1.py
中,我有来自。导入同级2
但是当我在控制台中运行sibling1.py
时
尝试在非软件包中进行相对导入
我还尝试了从child import sibling2使用,但它不起作用
我做错了什么
编辑
我修复了在setup.py中添加entry\u points={'console\u script':['sibling1=child:main']}
到setup()
因此,我必须在我的child/uuuu init_uuu.py
中编写一个名为main
的方法,在那里,我从。导入sibling2
现在我在控制台中运行sibling1
,一切正常 导入时不必说。只要所有文件夹都在python路径中,就可以说import sibling2
。from/import语法用于将特定元素从文件/类导入当前名称空间…引用父目录时不需要使用它。谢谢您的回答,但当我刚刚import sibling2
时,我得到ImportError:如果您在Linux中工作,则没有名为sibling2的模块,您需要将PYTHONPATH环境变量设置为包含要使用的所有python子目录。在这种情况下,类似于export PYTHONPATH=$PYTHONPATH:parent:parent/child
的内容,不管真实的完整路径名是什么。对不起,路径分隔符应该是冒号,而不是分号。我一直收到相同的异常。