[issue22315] TypeError in error handling in distutils.dir_util.copy_tree

Jason R. Coombs report at bugs.python.org
Sun Aug 31 17:15:05 CEST 2014


New submission from Jason R. Coombs:

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 <module>
    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.

----------
assignee: jason.coombs
components: Distutils
messages: 226182
nosy: dstufft, eric.araujo, jason.coombs
priority: normal
severity: normal
status: open
title: TypeError in error handling in distutils.dir_util.copy_tree
versions: Python 3.4, Python 3.5

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue22315>
_______________________________________


More information about the Python-bugs-list mailing list