Skip to content

"File name too long" error when using non-standard install sources with long URLs #2002

@jhermann

Description

@jhermann

pip 1.5.6 on Linux 3.13.0-32-generic Ubuntu 14.04 Python 2.7.6, when several factors increase download URL length, fails with an "IOError: [Errno 36] File name too long" in the download cache, because the www-url-encoded URL is used as a plain filename.

Quickfix: add --download-cache '' to the pip install

Remedy: Use e.g. hashes of the URL for file stoage, or split the URL into reasonable units and use those as intermediate directories.

Full strack trace:

Downloading/unpacking PasteDeploy (from PasteScript>=1.7.3->-r requirements.txt (line 4))
  Downloading PasteDeploy-1.5.2-py2.py3-none-any.whl
  Storing download in cache at /home/jhe/.pip/download_cache/http%3A%2F%2Fxxxxxxxxxxxxxxxxxxxxxxx.devpi.lan%3A8484%2Froot%2Fpypi%2F%2Bf%2F113%2F4e25af0d52190%2FPasteDeploy-1.5.2-py2.py3-none-any.whl
Cleaning up...
Exception:
Traceback (most recent call last):
  File "/home/jhe/svn/python/ui_portal_paver/local/lib/python2.7/site-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/home/jhe/svn/python/ui_portal_paver/local/lib/python2.7/site-packages/pip/commands/install.py", line 278, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "/home/jhe/svn/python/ui_portal_paver/local/lib/python2.7/site-packages/pip/req.py", line 1197, in prepare_files
    do_download,
  File "/home/jhe/svn/python/ui_portal_paver/local/lib/python2.7/site-packages/pip/req.py", line 1375, in unpack_url
    self.session,
  File "/home/jhe/svn/python/ui_portal_paver/local/lib/python2.7/site-packages/pip/download.py", line 586, in unpack_http_url
    cache_download(cache_file, temp_location, content_type)
  File "/home/jhe/svn/python/ui_portal_paver/local/lib/python2.7/site-packages/pip/util.py", line 609, in cache_download
    fp = open(target_file+'.content-type', 'w')
IOError: [Errno 36] File name too long: '/home/jhe/.pip/download_cache/http%3A%2F%2Fxxxxxxxxxxxxxxxxxxxxxxx.devpi.lan%3A8484%2Froot%2Fpypi%2F%2Bf%2F113%2F4e25af0d52190%2FPasteDeploy-1.5.2-py2.py3-none-any.whl.content-type'

Metadata

Metadata

Assignees

No one assigned

    Labels

    auto-lockedOutdated issues that have been locked by automation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions