bdist_wininst currently contains this code: from tempfile import NamedTemporaryFile arc = NamedTemporaryFile(".zip") archive_basename = arc.name[:-4] fullname = self.distribution.get_fullname() arcname = self.make_archive(archive_basename, "zip", root_dir=self.bdist_dir) The corresponding checkin message is this: revision 1.35 date: 2002/08/09 16:37:34; author: gvanrossum; state: Exp; lines: +5 -4 Massive changes from SF 589982 (tempfile.py rewrite, by Zack Weinberg). This changes all uses of deprecated tempfile functions to the recommended ones. The call to NamedTemporaryFile(".zip") crashes with an access violation on Windows. I've submitted a bug # 623464 for this. I assume this is meant instead: from tempfile import NamedTemporaryFile arc = NamedTemporaryFile(suffix = ".zip") archive_basename = arc.name[:-4] fullname = self.distribution.get_fullname() arcname = self.make_archive(archive_basename, "zip", root_dir=self.bdist_dir) but it doesn't work either: make_archive() fails with 'permission denied' because the file is already open. This would work: from tempfile import NamedTemporaryFile arc = NamedTemporaryFile(suffix = ".zip") archive_basename = arc.name[:-4] arc.close() fullname = self.distribution.get_fullname() arcname = self.make_archive(archive_basename, "zip", root_dir=self.bdist_dir) but I'm not sure if it defeats the purpose of the change (secure tempfiles). Since distutils should still be compatible with older Python versions, and those do not contain NamedTemporaryFile, I suggest to back out this change. Thomas
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4