Graphlab创建安装错误:graphlab.get_dependencies()导致BadZipFile错误

时间:2016-07-27 03:35:07

标签: graphlab

在Win 10上安装Graphlab Create后,它要求我们使用graphlab.get_dependencies()安装2个依赖项。

但是,我收到以下错误:


    In [9]: gl.get_dependencies()

    By running this function, you agree to the following licenses.

    * libstdc++: https://gcc.gnu.org/onlinedocs/libstdc++/manual/license.html
    * xz: http://git.tukaani.org/?p=xz.git;a=blob;f=COPYING

    Downloading xz.
    Extracting xz.
    ---------------------------------------------------------------------------
    BadZipfile                                Traceback (most recent call last)
     in ()
    ----> 1 gl.get_dependencies()

    C:\Users\nikulk\Anaconda2\envs\gl-env\lib\site-packages\graphlab\dependencies.pyc in get_dependencies()
         34     xzarchive_dir = tempfile.mkdtemp()
         35     print('Extracting xz.')
    ---> 36     xzarchive = zipfile.ZipFile(xzarchive_file)
         37     xzarchive.extractall(xzarchive_dir)
         38     xz = os.path.join(xzarchive_dir, 'bin_x86-64', 'xz.exe')

    C:\Users\nikulk\Anaconda2\envs\gl-env\lib\zipfile.pyc in __init__(self, file, mode, compression, allowZip64)
        768         try:
        769             if key == 'r':
    --> 770                 self._RealGetContents()
        771             elif key == 'w':
        772                 # set the modified flag so central directory gets written

    C:\Users\nikulk\Anaconda2\envs\gl-env\lib\zipfile.pyc in _RealGetContents(self)
        809             raise BadZipfile("File is not a zip file")
        810         if not endrec:
    --> 811             raise BadZipfile, "File is not a zip file"
        812         if self.debug > 1:
        813             print endrec

    BadZipfile: File is not a zip file

任何人都知道如何解决?

2 个答案:

答案 0 :(得分:1)

如果出现此错误,防火墙可能阻止您下载依赖项。以下是一些信息和解决方法:

请参阅get_dependencies的SFrame源代码,了解GraphLab如何使用此程序包:https://github.com/turicode/SFrame/blob/master/oss_src/unity/python/sframe/dependencies.py

xz实用程序仅用于从其中下载的其他文件(来自repo.msys2.org)中提取运行时依赖项:http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-libs-5.1.0-1-any.pkg.tar.xz需要将该文件中的两个DLL提取到" cython" GraphLab内部的目录创建安装路径(通常类似于virtualenv或conda env中的lib / site-packages / python2.7 / graphlab)。提取后,应解决依赖性问题。

答案 1 :(得分:0)

在graphlab文件夹中使文件夹可写。最初它只是可读的。转到文件夹的属性撤消唯一的读取选项。希望它解决你的问题。