Tyr*_*ick 6 distutils setuptools setup.py python-packaging
假设我有以下目录结构:
\n\nsrc/\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 python/\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 generated/\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 a.py\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 lib/\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 b.py\nRun Code Online (Sandbox Code Playgroud)\n\n我的是什么setup.py为了创建目录布局如下的 dist,
src/\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 python/\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 a.py\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 lib/\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 b.py\nRun Code Online (Sandbox Code Playgroud)\n\n目标是简单地消除该generated文件夹。我尝试了无数的变化,package_dir但除了原始目录结构之外,无法生成任何内容。
在这种特定情况下,对于这个特定的项目目录结构,setup.py脚本应放置在该src目录中,并且应如下所示:
#!/usr/bin/env python
import setuptools
setuptools.setup(
name='Thing',
version='1.2.3',
packages=[
'python',
'python.lib',
],
package_dir={
'python': 'python/generated',
},
)
Run Code Online (Sandbox Code Playgroud)
请注意package_dir设置。它指示从目录中setuptools获取包的代码。在构建的发行版中,您将找到正确的目录结构。pythonpython/generated
| 归档时间: |
|
| 查看次数: |
5126 次 |
| 最近记录: |