有没有办法检查Python包是否已正常安装(pip install
/ setup.py install
)或可编辑/ egg-link模式(pip install -e
/ setup.py develop
)?
我知道我可以检查包裹的路径是否包含site-packages
,这很可能意味着它是一个不可编辑的"安装,但这感觉非常脏,我宁愿避免这种情况。
我尝试检查这一点的原因是我的应用程序正在检查各个位置的配置文件,例如/etc/myapp.conf
和~/.myapp.conf
。对于开发人员,我想签入<pkgdir>/myapp.conf
,但由于我在没有找到配置的情况下显示了可能的位置列表,因此我真的不想在包裹被包含时包含pkgdir选项安装到site-packages(因为用户不应该在那里创建配置文件)。
答案 0 :(得分:0)
pip
包含code(pip freeze
使用-e
作为行前缀的pip
。由于pip
的API不能保证稳定,因此最好将代码复制到自己的应用程序中,而不是从def dist_is_editable(dist):
"""Is distribution an editable install?"""
for path_item in sys.path:
egg_link = os.path.join(path_item, dist.project_name + '.egg-link')
if os.path.isfile(egg_link):
return True
return False
导入它:
UIViewController
该代码是MIT许可的,因此复制和粘贴到几乎任何项目都应该是安全的。