3

python setup.py bdist_eggこのフォルダーから実行して、Python の卵を作成しました。

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_display.py

PARAM_FILE = "data/sensor_display.txt"
param_file = pkg_resources.resource_filename("sensor_display", PARAM_FILE)
f = open(param_file,"r")

SensorDisplay-0.1-py2.7.egg次に、フォルダー内の卵ファイルを取得しますSensorDisplay\dist\。ただし、easy_install を使用して卵をインストールし、ファイルを実行するとC:\Python27\Scripts\sensor_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_filenameは卵ファイルを抽出しないようです。

4

2 に答える 2

3

問題が見つかりました、交換しました

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)

pkg_resources.resource_filenameも参照してくださいファイルを抽出していません

于 2016-02-05T09:48:31.233 に答える
1

Egg ファイルは zip アーカイブです。unzip コマンドを使用して内容を確認できます。

于 2016-02-04T10:50:37.050 に答える