我正在尝试制作python软件包,当我尝试从Github here安装库时,已经完成了大多数设置,它将安装除名为champs
的文件夹以外的所有内容它是文件
这是我的文件目录结构
LeagueYue
champs
-Lname_num.json
-Lname_Uname.json
-num_Uname.json
-__init__.py
-champion_files.py
-external.py
-match.py
-rank.py
-status.py
-summoner.py
-requirements.txt
-setup.py
除文件夹和champs
内的文件外,所有文件均已安装
答案 0 :(得分:2)
question的答案如下:
有两种添加静态文件的方法:
与setup.py位于同一目录中的MANIFEST.in文件,如下所示:
include src/static/*
include src/Potato/*.txt
package_data = {
'static': ['*'],
'Potato': ['*.txt']
}
指定setup.py.
答案 1 :(得分:1)
其中两个文件可能是在运行时从num_Uname.json派生的,但这很好。
我还没有在https://github.com/CharmingMother/LeagueLib/blob/async/setup.py中看到data_files
指令
Thomas Cokelaer建议使用类似
的表达式datafiles = [(datadir, list(glob.glob(os.path.join(datadir, '*'))))]
然后
setup(
...
data_files = datafiles,
)
在http://thomas-cokelaer.info/blog/2012/03/how-to-embedded-data-files-in-python-using-setuptools/
中在您的情况下,这可能很简单:
data_files = [('', ['champs/num_Uname.json'])],
Martin Thoma解释说,您应该使用How to read a (static) file from inside a Python package?中的filepath = pkg_resources.resource_filename(__name__, path)
来访问它们
当我阅读精美的Manual时,这个setup.cfg
替代表面:
[options.data_files]
...
data = data/img/logo.png, data/svg/icon.svg
建议像. = champs/num_Uname.json
或champs = num_Uname.json
这样的行