社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

将来自不同目录的python包插入到不同的命名空间中

Sidd Singal • 4 年前 • 202 次点击  

假设在python路径中,我有一个名称空间 foo .我有一个单独目录中的模块(不在python路径中),名为 bar 以下内容: x.py 我是说, y.py 我是说, z.py 是的。所以布局可能是这样的:

|--/python/path/site-packages/foo/ 
|----__init.py__
|--...
|--/some/other/directory/bar/
|----__init__.py
|----x.py
|----y.py
|----z.py

所以,既然foo已经在我的路上了,我很容易做到 import foo 是的。不过,有什么黑色魔法我可以加进去吗 foo/__init__.py 所以在我的python shell中,我可以开始 from foo import x from foo.x import my_function 是吗?理想的情况是寻找一个同时适用于Python2.7和Python3.6的解决方案,但这并不严格。

编辑:我想补充一下 bar/ 在理想情况下,也可以有子文件夹或子包。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46965
 
202 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Sidd Singal
Reply   •   1 楼
Sidd Singal    5 年前

忘了我在这里问过这个问题,但是,万一有人到这里来,这就是我最后要做的。

# /python/path/site-packages/foo/__init__.py
__path__.append("/some/other/directory/bar/")

这个 __path__ 对于特定的名称空间,告诉python名称空间应该查看哪些目录。