使用.pth文件打包Python

2024-09-28 03:18:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一套开发在一起的包,并捆绑成一个发行包。在

为了便于讨论,假设我有充分的理由按照以下方式组织我的python发行包:

SpanishInqProject/
|---SpanishInq/
|     |- weapons/
|     |   |- __init__.py
|     |   |- fear.py
|     |   |- surprise.py    
|     |- expectations/
|     |   |- __init__.py
|     |   |- noone.py
|     |- characters/
|         |- __init__.py
|         |- biggles.py
|         |- cardinal.py
|- tests/
|- setup.py
|- spanish_inq.pth

我添加了路径配置文件spanish_inq.pth,以将SpanishInq添加到sys.path,这样我就可以直接导入weapons,.etc。在

我希望能够使用setuptools来构建控制盘,并让pip在SpanishInq目录中安装weaponsexpectations和{},但不需要使用来生成SpanishInq包或命名空间。在

我的设置.py公司名称:

^{pr2}$

包含MANIFEST.in文件:

   spanish_inq.pth

这在两个方面都具有挑战性:

  • pip installweapons等直接放入site-packages目录,而不是SpanishInq目录。在
  • 我的spanish_inq.pth文件在sys.exec_前缀dir,而不是在我的网站包dir,这意味着它的相对路径现在是无用的。在

第一个问题我可以通过将SpanishInq转换为一个模块(我对此不满意)来解决,但是我仍然希望能够导入weapons等,而不需要将SpanishInq作为命名空间,要做到这一点,我需要将SpanishInq添加到搜索路径,这是我希望.pth文件能帮上忙的地方…但我无法将其放到哪里应该的。在

所以。。。在

如何让.pth文件安装到site-packages目录中?在


Tags: pip文件py路径目录initsys空间

热门问题