为 Firebase REST API 制作了两个独立的 Python 包装器:
https://github.com/mikexstudios/python-firebase
https://pypi.python.org/pypi/python-firebase/1.2
两者各有优缺 pip ,所以现在我想对某些 API 操作使用一个,对其他 API 操作使用另一个,在同一个程序。问题是,安装后,它们都被称为 firebase
。
pip
是否可以用不同的名称安装一个或两个?如果不是,如果使用正确,import
语句是否具有区分的智能?
最佳答案
导入模块时,python会按顺序查找sys.path中的路径,找到第一个就停止。所以一个简单的 import firebase
是行不通的。
有一个选择其中之一的脆弱解决方案,但您将无法同时导入两者。
无论如何,要选择一个或另一个,您只需导入包的内部名称即可。如果我们查看这两个包的公开名称,我们会得到:
https://github.com/mikexstudios/python-firebase
firebase/
__init__.py
Firebase
requests
urlparse
os
json
https://github.com/ozgur/python-firebase
firebase/
__init__.py
atexit
process_pool
close_process_pool
urlparse
json
FirebaseTokenGenerator
http_connection
process_pool
JSONEncoder
...
因此,您可以通过导入仅存在于其中的名称来选择第一个:
from firebase import requests
或者第二种,同理:
from firebase import atext
但坦率地说,这在我看来很糟糕。
关于python - 区分同名的 Python 模块/安装不同的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33699434/