lepisma/pipwin

error - BadZipfile: File is not a zip file

artttt opened this issue · 8 comments

Just installed pipwin - great idea.
however.
I tried to run pipwin install boost-python
and got the following exception (see below)
worked fine if i manually download the file and install it with pip.
cheers

Exception:
Traceback (most recent call last):
File "c:\anaconda\lib\site-packages\pip\basecommand.py", line 211, in main
status = self.run(options, args)
File "c:\anaconda\lib\site-packages\pip\commands\install.py", line 305, in run

wb.build(autobuilding=True)

File "c:\anaconda\lib\site-packages\pip\wheel.py", line 705, in build
self.requirement_set.prepare_files(self.finder)
File "c:\anaconda\lib\site-packages\pip\req\req_set.py", line 334, in prepare_
files
functools.partial(self._prepare_file, finder))
File "c:\anaconda\lib\site-packages\pip\req\req_set.py", line 321, in walk_re
q_to_install
more_reqs = handler(req_to_install)
File "c:\anaconda\lib\site-packages\pip\req\req_set.py", line 491, in prepare
file
session=self.session)
File "c:\anaconda\lib\site-packages\pip\download.py", line 814, in unpack_url
unpack_file_url(link, location, download_dir)
File "c:\anaconda\lib\site-packages\pip\download.py", line 723, in unpack_file
url
unpack_file(from_path, location, content_type, link)
File "c:\anaconda\lib\site-packages\pip\utils__init
.py", line 645, in unpac
k_file
flatten=not filename.endswith('.whl')
File "c:\anaconda\lib\site-packages\pip\utils__init
.py", line 531, in unzip
_file
zip = zipfile.ZipFile(zipfp, allowZip64=True)
File "c:\anaconda\lib\zipfile.py", line 770, in init
self._RealGetContents()
File "c:\anaconda\lib\zipfile.py", line 811, in _RealGetContents
raise BadZipfile, "File is not a zip file"
BadZipfile: File is not a zip file

Its not downloading the wheel file. The server is kind of blocking access to pipwin. Will look into it.

same issue here

Same with me, I just installed pip install pipwin==0.2.5 and tried to install numpy:

$ pipwin install numpy
C:\Users\Jan\.pipwin
Package `numpy` found in cache
Choose version to download.

[0] : 1.10.2+mkl
[1] : 1.9.3+mkl
[2] : 1.10.2+vanilla

Type version id shown in box : 2
Downloading package . . .
http://www.lfd.uci.edu/~gohlke/pythonlibs/5MEHQKEm/numpy-1.10.2+vanilla-cp34-none-win32.whl
numpy-1.10.2+vanilla-cp34-none-win32.whl
0%  100%
[]Processing c:\users\jan\pipwin\numpy-1.10.2+vanilla-cp34-none-win32.whl
Exception:
Traceback (most recent call last):
  File "c:\python34\lib\site-packages\pip\basecommand.py", line 211, in main
    status = self.run(options, args)
  File "c:\python34\lib\site-packages\pip\commands\install.py", line 305, in run
    wb.build(autobuilding=True)
  File "c:\python34\lib\site-packages\pip\wheel.py", line 705, in build
    self.requirement_set.prepare_files(self.finder)
  File "c:\python34\lib\site-packages\pip\req\req_set.py", line 334, in prepare_files
    functools.partial(self._prepare_file, finder))
  File "c:\python34\lib\site-packages\pip\req\req_set.py", line 321, in _walk_req_to_install
    more_reqs = handler(req_to_install)
  File "c:\python34\lib\site-packages\pip\req\req_set.py", line 491, in _prepare_file
    session=self.session)
  File "c:\python34\lib\site-packages\pip\download.py", line 814, in unpack_url
    unpack_file_url(link, location, download_dir)
  File "c:\python34\lib\site-packages\pip\download.py", line 723, in unpack_file_url
    unpack_file(from_path, location, content_type, link)
  File "c:\python34\lib\site-packages\pip\utils\__init__.py", line 645, in unpack_file
    flatten=not filename.endswith('.whl')
  File "c:\python34\lib\site-packages\pip\utils\__init__.py", line 531, in unzip_file
    zip = zipfile.ZipFile(zipfp, allowZip64=True)
  File "c:\python34\lib\zipfile.py", line 937, in __init__
    self._RealGetContents()
  File "c:\python34\lib\zipfile.py", line 978, in _RealGetContents
    raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file

This is an annoying bug.
The webpage is returning wrong urls for requests from pipwin. This also happens sometimes while using web browsers.
Changing request headers usually fixes the issue temporarily. Will do that.

( Same issue #14 )

Has anyone found workaround for this?

Ive got the same issue attempting to install pycuda

D:\SmartBot\my_env\SmartBot>pipwin install mysqlclient 
Package `mysqlclient` found in cache
Downloading package . . .
https://download.lfd.uci.edu/pythonlibs/t4jqbe6o/mysqlclient-1.4.2-cp37-cp37m-win32.whl
mysqlclient-1.4.2-cp37-cp37m-win32.whl
Warning: No valid output stream.
Processing c:\users\smart\pipwin\mysqlclient-1.4.2-cp37-cp37m-win32.whl
ERROR: Exception:
Traceback (most recent call last):
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\cli\base_command.py", line 178, in main
    status = self.run(options, args)
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\commands\install.py", line 352, in run
    resolver.resolve(requirement_set)
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\resolve.py", line 131, in resolve
    self._resolve_one(requirement_set, req)
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\resolve.py", line 294, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\resolve.py", line 242, in _get_abstract_dist_for
    self.require_hashes
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\operations\prepare.py", line 347, in prepare_linked_requirement
    progress_bar=self.progress_bar
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\download.py", line 873, in unpack_url
    unpack_file_url(link, location, download_dir, hashes=hashes)
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\download.py", line 807, in unpack_file_url
    unpack_file(from_path, location, content_type, link)
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\utils\misc.py", line 628, in unpack_file
    flatten=not filename.endswith('.whl')
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\utils\misc.py", line 505, in unzip_file
    zip = zipfile.ZipFile(zipfp, allowZip64=True)
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\zipfile.py", line 1222, in __init__
    self._RealGetContents()
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\zipfile.py", line 1289, in _RealGetContents
    raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file

D:\SmartBot\my_env\SmartBot>pipwin install mysqlclient 
Package `mysqlclient` found in cache
Downloading package . . .
https://download.lfd.uci.edu/pythonlibs/t4jqbe6o/mysqlclient-1.4.2-cp37-cp37m-win32.whl
mysqlclient-1.4.2-cp37-cp37m-win32.whl
Warning: No valid output stream.
Processing c:\users\smart\pipwin\mysqlclient-1.4.2-cp37-cp37m-win32.whl
ERROR: Exception:
Traceback (most recent call last):
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\cli\base_command.py", line 178, in main
    status = self.run(options, args)
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\commands\install.py", line 352, in run
    resolver.resolve(requirement_set)
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\resolve.py", line 131, in resolve
    self._resolve_one(requirement_set, req)
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\resolve.py", line 294, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\resolve.py", line 242, in _get_abstract_dist_for
    self.require_hashes
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\operations\prepare.py", line 347, in prepare_linked_requirement
    progress_bar=self.progress_bar
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\download.py", line 873, in unpack_url
    unpack_file_url(link, location, download_dir, hashes=hashes)
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\download.py", line 807, in unpack_file_url
    unpack_file(from_path, location, content_type, link)
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\utils\misc.py", line 628, in unpack_file
    flatten=not filename.endswith('.whl')
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\utils\misc.py", line 505, in unzip_file
    zip = zipfile.ZipFile(zipfp, allowZip64=True)
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\zipfile.py", line 1222, in __init__
    self._RealGetContents()
  File "c:\users\smart\appdata\local\programs\python\python37-32\lib\zipfile.py", line 1289, in _RealGetContents
    raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file

Solved