我正在尝试通过将脚本从包目录移动到顶级脚本目录来重新组织我的Python项目.在这些更改之后,这就是我的项目层次结构:
MyProject/
setup.py
scripts/
my_package.py
my_package/
__init__.py
module_foo.py
Run Code Online (Sandbox Code Playgroud)
请注意脚本和包具有相同的名称.
脚本my_package.py看起来像这样:
# MyProject/scripts/my_package.py
import os
try:
import my_package
print os.path.abspath(my_package.__file__)
except ImportError as e:
print e
Run Code Online (Sandbox Code Playgroud)
当我们运行上面的脚本解释器导入当前模块而不是包的同名(注:包my_package已经被安装到site-packages.作为一个鸡蛋,我们的虚拟环境中正常启动)
如果它们具有相同的名称,我如何从脚本中导入包 ?my_package my_package.py
对我来说它适用于
sys.path.insert(0, '..')
Run Code Online (Sandbox Code Playgroud)
因为导入会执行类似的操作for path in sys.path:。
| 归档时间: |
|
| 查看次数: |
1240 次 |
| 最近记录: |