Opened 13 years ago
Last modified 4 years ago
#251 closed defect
apt fails upgrading or removing python package — at Version 1
Reported by: | maphew | Owned by: | maphew |
---|---|---|---|
Priority: | major | Component: | Package |
Version: | Keywords: | pkg-apt | |
Cc: |
Description (last modified by )
The standalone apt.exe loads the python dll located in the same directory as itself even though it has the dll packaged internally. Consequently the in-use file cannot be deleted and replaced.
Workaround: copy apt.exe to a different location and run from there.
Error:
C:\>which apt B:\o4w\bin\apt.EXE C:\>apt remove python removing python 2.7.2-2 removed: B:\o4w\apps\Python27\tcl\tcl8.5\package.tcl ... removed: B:\o4w\bin\python.exe removed: B:\o4w\bin\w9xpopen.exe removed: B:\o4w\bin\pythonw.exe Traceback (most recent call last): File "<string>", line 1043, in <module> File "<string>", line 238, in remove File "<string>", line 453, in do_uninstall WindowsError: [Error 5] Access is denied: 'B:\\o4w\\bin\\python27.dll'
Workaround:
C:\>copy b:\o4w\bin\apt.exe D:\ C:\>D:\apt.exe remove python removing python 2.7.2-2 warning: B:\o4w\apps\Python27\tcl\tcl8.5\package.tcl no such file ... removed: B:\o4w\bin\python27.dll removed: B:\o4w\etc\ini\python.bat
Note:
See TracTickets
for help on using tickets.
Possible solutions:
a) Always run apt.exe from %temp%. All this would take is changing apt.bat a little. Drawback is never knowing when %temp% will get cleaned out. If frequent, apt's startup time will be lengthier as the .exe get's recopied before loading.
b) Repackage apt.exe install location from .\bin to .\apps\apt.
c) talk to pyInstaller folks and see if there is a flag or something to force the .exe to use the internal .dll no matter what.