pkg#u资源不';t从python-egg中提取文件
我通过从以下文件夹运行pkg#u资源不';t从python-egg中提取文件,python,egg,pkg-resources,Python,Egg,Pkg Resources,我通过从以下文件夹运行python setup.py bdist_egg创建了一个python egg: SensorDisplay/ --- sensor_display/ ----- __init__.py ----- can.py ----- sensor_display.py ----- data/ --------- sensor_param.txt --- setup.py 在文件setup.py中,我有: package_data = {'' : ['*.txt']}, sc
python setup.py bdist_egg
创建了一个python egg:
SensorDisplay/
--- sensor_display/
----- __init__.py
----- can.py
----- sensor_display.py
----- data/
--------- sensor_param.txt
--- setup.py
在文件setup.py
中,我有:
package_data = {'' : ['*.txt']},
scripts = ['sensor_display/sensor_display.py','sensor_display/can.py']
在文件sensor\u display.py
中:
PARAM_FILE = "data/sensor_display.txt"
param_file = pkg_resources.resource_filename("sensor_display", PARAM_FILE)
f = open(param_file,"r")
然后我在文件夹SensorDisplay\dist\
中获取egg文件SensorDisplay-0.1-py2.7.egg
。但是,当我使用easy\u install安装egg并运行文件C:\Python27\Scripts\sensor\u display.py
时,我得到以下错误:
IOError: [Errno 2] No such file or directory: 'C:\\Python27\\lib\\site-packages\
\sensordisplay-0.1-py2.7.egg\\EGG-INFO\\scripts\\data\\sensor_param.txt'
函数
resource\u filename
似乎没有提取egg文件,因为返回的文件名将egg文件视为一个目录,而实际并非如此。egg文件是一个zip存档文件。您可以使用解压命令查看内容 我发现了问题,我更换了
PARAM_FILE = "data/sensor_display.txt"
param_file = pkg_resources.resource_filename("sensor_display", PARAM_FILE)
与
另见
PARAM_FILE = "sensor_display/data/sensor_display.txt"
param_file = pkg_resources.resource_filename(pkg_resources.Requirement.parse("SensorDisplay"), PARAM_FILE)