Python 从我部署的 pip 包中读取静态文件
Python read static file from within a pip package that I've deployed
感谢阅读问题。
我遇到了 SO post,其中一个解决方案讨论了使用 pkg_resources
,我正在尝试使用它。
我的文件结构
x
- x
- to_read.json
- __init__.py
- to_read.json
- __init__.py
是的,我复制了它。 x 文件夹下
我的安装文件
from setuptools import find_packages, setup
setup(
name='x',
version='0.160',
packages=find_packages(exclude="tests/"),
url="git@github.com:A/B.git",
package_data={'x': [
'to_read.json',
"x/to_read.json"
]},
install_requires=["foo", "bar"]
)
试图读取它的代码
- 错误:
Exception: the 'package' argument is required to perform a relative import for '.'
return json.loads(str(pkg_resources.open_text(".", 'to_read'))) # note, I removed the extension as mentioned in the solution
- FileNotFoundError
return json.loads(str(pkg_resources.open_text("x", 'to_read'))) # note, I removed the extension as mentioned in the solution
我想我不需要导入任何东西(SO post 导入的“模板”),因为它位于我目录的顶层?
谢谢!
解决方案是
导入库....import mylib
with pkg_resources.open_text(mylib, 'to_read.json') as file:
return json.load(file)
所以基本上我认为不应该应用的所有内容都应用了。安息
感谢阅读问题。
我遇到了 SO post,其中一个解决方案讨论了使用 pkg_resources
,我正在尝试使用它。
我的文件结构
x
- x
- to_read.json
- __init__.py
- to_read.json
- __init__.py
是的,我复制了它。 x 文件夹下
我的安装文件
from setuptools import find_packages, setup
setup(
name='x',
version='0.160',
packages=find_packages(exclude="tests/"),
url="git@github.com:A/B.git",
package_data={'x': [
'to_read.json',
"x/to_read.json"
]},
install_requires=["foo", "bar"]
)
试图读取它的代码
- 错误:
Exception: the 'package' argument is required to perform a relative import for '.'
return json.loads(str(pkg_resources.open_text(".", 'to_read'))) # note, I removed the extension as mentioned in the solution
- FileNotFoundError
return json.loads(str(pkg_resources.open_text("x", 'to_read'))) # note, I removed the extension as mentioned in the solution
我想我不需要导入任何东西(SO post 导入的“模板”),因为它位于我目录的顶层?
谢谢!
解决方案是
导入库....
import mylib
with pkg_resources.open_text(mylib, 'to_read.json') as file:
return json.load(file)
所以基本上我认为不应该应用的所有内容都应用了。安息