Issue 22315: TypeError in error handling in distutils.dir_util.copy_tree (original) (raw)
This morning, I was running an install of a package on Python 3.4.1 when I encountered this error:
C:\Users\jaraco\projects\jaraco.financial [default tip]> ./setup install running install running bdist_egg running egg_info writing namespace_packages to jaraco.financial.egg-info\namespace_packages.txt writing jaraco.financial.egg-info\PKG-INFO writing top-level names to jaraco.financial.egg-info\top_level.txt writing requirements to jaraco.financial.egg-info\requires.txt writing dependency_links to jaraco.financial.egg-info\dependency_links.txt writing entry points to jaraco.financial.egg-info\entry_points.txt writing manifest file 'jaraco.financial.egg-info\SOURCES.txt' installing library code to build\bdist.win-amd64\egg running install_lib running build_py copying jaraco\financial\records.py -> build\lib\jaraco\financial creating build\bdist.win-amd64\egg creating build\bdist.win-amd64\egg\jaraco creating build\bdist.win-amd64\egg\jaraco\financial copying build\lib\jaraco\financial\ledger.py -> build\bdist.win-amd64\egg\jaraco\financial copying build\lib\jaraco\financial\qif.py -> build\bdist.win-amd64\egg\jaraco\financial copying build\lib\jaraco\financial\merchant.py -> build\bdist.win-amd64\egg\jaraco\financial Traceback (most recent call last): File "C:\Program Files\Python34\lib\distutils\dir_util.py", line 126, in copy_tree names = os.listdir(src) OSError: [WinError 59] An unexpected network error occurred: 'build\lib\jaraco\financial\records.py'
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "C:\Users\jaraco\projects\jaraco.financial\setup.py", line 72, in setuptools.setup(**setup_params) File "C:\Program Files\Python34\lib\distutils\core.py", line 148, in setup dist.run_commands() File "C:\Program Files\Python34\lib\distutils\dist.py", line 955, in run_commands self.run_command(cmd) File "C:\Program Files\Python34\lib\distutils\dist.py", line 974, in run_command cmd_obj.run() File "C:\Program Files\Python34\lib\site-packages\setuptools-5.7-py3.4.egg\setuptools\command\install.py", line 67, in run File "C:\Program Files\Python34\lib\site-packages\setuptools-5.7-py3.4.egg\setuptools\command\install.py", line 109, in do_egg_install File "C:\Program Files\Python34\lib\distutils\cmd.py", line 313, in run_command self.distribution.run_command(command) File "C:\Program Files\Python34\lib\distutils\dist.py", line 974, in run_command cmd_obj.run() File "C:\Program Files\Python34\lib\site-packages\setuptools-5.7-py3.4.egg\setuptools\command\bdist_egg.py", line 161, in run File "C:\Program Files\Python34\lib\site-packages\setuptools-5.7-py3.4.egg\setuptools\command\bdist_egg.py", line 147, in call_command File "C:\Program Files\Python34\lib\distutils\cmd.py", line 313, in run_command self.distribution.run_command(command) File "C:\Program Files\Python34\lib\distutils\dist.py", line 974, in run_command cmd_obj.run() File "C:\Program Files\Python34\lib\site-packages\setuptools-5.7-py3.4.egg\setuptools\command\install_lib.py", line 10, in run File "C:\Program Files\Python34\lib\distutils\command\install_lib.py", line 111, in install outfiles = self.copy_tree(self.build_dir, self.install_dir) File "C:\Program Files\Python34\lib\site-packages\setuptools-5.7-py3.4.egg\setuptools\command\install_lib.py", line 38, in copy_tree File "C:\Program Files\Python34\lib\distutils\cmd.py", line 357, in copy_tree not self.force, dry_run=self.dry_run) File "C:\Program Files\Python34\lib\distutils\dir_util.py", line 160, in copy_tree verbose=verbose, dry_run=dry_run)) File "C:\Program Files\Python34\lib\distutils\dir_util.py", line 160, in copy_tree verbose=verbose, dry_run=dry_run)) File "C:\Program Files\Python34\lib\distutils\dir_util.py", line 160, in copy_tree verbose=verbose, dry_run=dry_run)) File "C:\Program Files\Python34\lib\distutils\dir_util.py", line 128, in copy_tree (errno, errstr) = e TypeError: 'OSError' object is not iterable
The original traceback indicates a network error occurred. The secondary error occurs when the error is assumed to be an iterable of two elements. I suspect this issue arises from the conversion of WindowsError to OSError or similar.
I plan to look at this in more depth later.