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)