包括 Python 包中的文件夹和文件
including folder and files inside a Python package
我正在尝试制作一个 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
其中两个文件可能在运行时从 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)
访问它们
当我阅读 The Fine Manual 时,这个 setup.cfg
替代表面:
[options.data_files]
...
data = data/img/logo.png, data/svg/icon.svg
建议像 . = champs/num_Uname.json
或 champs = num_Uname.json
这样的行
正如这个 question 回答:
添加静态文件有两种方法:
1) Include_package_data=真 + MANIFEST.in
MANIFEST.in 文件在 setup.py 的同一目录中,如下所示:
include src/static/*
include src/Potato/*.txt
2) Package_data 在 setup.py
package_data = {
'static': ['*'],
'Potato': ['*.txt']
}
指定setup.py.
里面的文件
我正在尝试制作一个 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
其中两个文件可能在运行时从 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)
访问它们
当我阅读 The Fine Manual 时,这个 setup.cfg
替代表面:
[options.data_files]
...
data = data/img/logo.png, data/svg/icon.svg
建议像 . = champs/num_Uname.json
或 champs = num_Uname.json
正如这个 question 回答:
添加静态文件有两种方法:
1) Include_package_data=真 + MANIFEST.in
MANIFEST.in 文件在 setup.py 的同一目录中,如下所示:
include src/static/*
include src/Potato/*.txt
2) Package_data 在 setup.py
package_data = {
'static': ['*'],
'Potato': ['*.txt']
}
指定setup.py.
里面的文件