python - 用于异常文件夹结构的 Python setup.py
问题描述
我想为具有不寻常文件夹结构的包制作 setup.py。
通常的结构是
topfolder (e.g. git folder name)
- setup.py
- pkgname/
- __init__.py
- file1.py
- folder1/
- file2.py
通常的 setup.py 将是
from setuptools import setup
PACKAGES = ["pkgname",]
setup(packages=PACKAGES)
安装后,文件夹名称 pkgname/ 被复制到 miniconda3/lib/python3.8/site-packages/。作为用户,您可以将其导入为
import pkgname
import pkgname.folder1
import pkgname.folder1.file2
import pkgname.file1
etc...
现在,出于无关紧要的原因,我不能/不允许更改不寻常的文件夹结构。相反,我坚持这一点:
topfolder (which is also the pkgname)
- __init__.py
- file1.py
- folder1/
- file2.py
如您所见,setup.py 不存在,顶层文件夹以包名命名,并且应该在 pkgname/ 下的所有内容都向下一层。
我实际上已经设法制作了一个 setup.py 来安装它。只需调用包“。”:
from setuptools import setup
PACKAGES = [".",]
setup(packages=PACKAGES)
现在的问题是,在安装时,topfolder 的内容会直接转储到 miniconda3/lib/python3.8/site-packages/ 中(而不是在那里创建文件夹并将内容转储到该文件夹中)。因此,作为用户,我必须导入为:
import folder1
import folder1.file2
import file1
即由于安装的工作方式,我丢失了命名空间。
问题:我如何制作一个 setup.py 以便可以以通常的方式安装和使用不寻常的文件夹结构?
解决方案
推荐阅读
- python - 通过python将excel导入SQL
- python - 使用python将嵌套的json拆分为两个/多个文件
- python - python3 mariadb ssl:请求的数据不可用
- python - cuDNN 错误 无法获得卷积算法。这可能是因为 cuDNN 未能初始化
- php - Array_unique 和 XLS 导出
- google-maps - Android Studio 模拟器首先转移到 Google 地图中的 Googleplex(山景)位置
- asp.net-core - AuthorizeAttribute:如何尝试所有可用的身份验证模式?
- python - 使用 keras 中的专有类别一次对多个图像进行分类
- reactjs - 如何解决 ReactJs 中创建的组件的导入错误
- java - Netbeans 错误:无法找到或加载主类 java