[英]Pyinstaller Permission OSError Permission Denied
我正在嘗試創建計算機視覺程序的exe,但是遇到權限錯誤。
通過anaconda提示符命令(以管理員身份運行):
pyinstaller -F --name "Computer Vision" --add-data "model.xml;_model2_.hdf5" C:\Users\me\PycharmProjects\project\project_CV.spec
exe成功構建並運行后,在引用我的model.xml和model2.hdf5文件時出現以下錯誤。 在我的python代碼中,根據pyinstaller文檔,文件被引用到相對路徑,如下所示:
def resource_path(relative_path):
""" Get absolute path to resource, works for dev and for PyInstaller """
try:
# PyInstaller creates a temp folder and stores path in _MEIPASS
base_path = sys._MEIPASS
except Exception:
base_path = os.path.abspath(".")
return os.path.join(base_path, relative_path)
但是,當我運行exe時,找到了文件,但由於權限錯誤而無法訪問它們:
OSError: Unable to open file, errno = 13, error message = permission denied
我在運行python 3.6和pyinstaller 3.4的Windows設備上,我已經咨詢了有關此主題的其他堆棧溢出問題,但似乎沒有任何效果。
add-data
語法如下所示:
--add-data "<path to file or files>;<path on target>"
。 因此,如果要添加多個具有不同名稱的文件,則需要單獨提供它們。
因此,您問題的正確格式為:
pyinstaller -F --name "Computer Vision" --add-data "model.xml;." --add-data "_model2_.hdf5;." <your_script_name>.py
另外,請記住,當您使用*.spec
任何參數都將被忽略,因此您需要手動編輯spec文件或在腳本上使用參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.