我正在研究blowdrycss.存储库是here.
我希望从pypi的最终包中排除blowdrycss_settings.py的设置文件.目的是动态构建一个自定义设置文件,该文件将放置在用户virtualenv / project文件夹中.
在setup.py中,我有以下内容:
packages=find_packages(exclude=['blowdrycss_settings.py', ]),
我也尝试过exclude_package_data:
exclude_package_data={
'': ['blowdrycss_settings.py'],
'': ['blowdrycss/blowdrycss_settings.py'],
'blowdrycss': ['blowdrycss_settings.py'],
},
然后我运行python setup.py sdist bdist.
但是,当我查看build文件夹时,我仍然看到blowdrycss_settings.py:
- build
- lib
- blowdrycss_settings.py
看起来排除文件应该很简单.
如何从分布式软件包中排除blowdrycss_settings.py?
解决方法:
这是我的解决方案.
在blowdrycss下面,我创建了一个名为settings的新模块,因此目录结构现在看起来像这样:
blowdrycss
blowdrycss
settings
blowdrycss_settings.py
基于这个reference,在setup.py里面我有以下内容:
packages=find_packages(exclude=['*.settings', ]),
要构建分发:
>删除build,dist和.egg-info文件夹.
>运行python setup.py sdist bdist
回想起来,我无法做我最初尝试的事情是好的.新结构感觉更清洁,更模块化.