我正在尝试安装pact-python ...仅此而已。
我已经尝试过virtualenv了,但是没有,仍然出现相同的错误。
我正在运行:pip install pact-python

我还尝试添加该标志以使安装--no-cache-dir不使用缓存。

我正在Windows 10上使用python 2.7.14。


输出:

pip install pact-python --no-cache-dir
收集pact-python
  下载pact-python-0.10.0.tar.gz
已满足要求:在c:\ rep \ test_project \ env \ lib \ site-packages中单击> = 2.0.0(来自pact-python)
已满足要求:c:\ rep \ test_project \ env \ lib \ site-packages中的psutil> = 2.0.0(来自pact-python)
已经满足要求:c:\ rep \ test_project \ env \ lib \ site-packages中的请求> = 2.5.0(来自pact-python)
已满足要求:c:\ rep \ test_project \ env \ lib \ site-packages中的六个> = 1.9.0(来自pact-python)
已经满足要求:c:\ rep \ test_project \ env \ lib \ site-packages中的subprocess32(来自pact-python)
已满足要求:c:\ rep \ test_project \ env \ lib \ site-packages中的chardet = 3.0.2(来自请求> = 2.5.0-> pact-python)
已满足要求:c:\ rep \ test_project \ env \ lib \ site-packages中的certifi> = 2017.4.17(来自请求> = 2.5.0-> pact-python)
已满足要求:c:\ rep \ test_project \ env \ lib \ site-packages中的urllib3 = 1.21.1(来自request> = 2.5.0-> pact-python)
已经满足要求:c:\ rep \ test_project \ env \ lib \ site-packages中的idna = 2.5(来自request> = 2.5.0-> pact-python)
安装收集的软件包:pact-python
  正在为pact-python运行setup.py install ...错误
    来自命令c:\ rep \ test_project \ env \ scripts \ python.exe的完整输出-u -c“ import setuptools,tokenize; __ file __ ='c:\\ users \\ 212683〜1 \\ appdata \\ local \\ temp \\ pip-build-b0yskn \\ pact-python \\ setup.py'; f = getattr(tokenize,'open',open)(__ file __); code = f.read()。replace('\ r \ n ','\ n'); f.close(); exec(compile(code,__file__,'exec'))“ install --record c:\ users \ 212683〜1 \ appdata \ local \ temp \ pip-tbudil -record \ install-record.txt-单个版本-外部管理-编译--install-headers c:\ rep \ test_project \ env \ include \ site \ python2.7 \ pact-python:
    运行安装
    运行构建
    运行build_py
    创建版本
    创建build \ lib
    创建build \ lib \ pact
    复制pact \ constants.py-> build \ lib \ pact
    复制pact \ consumer.py-> build \ lib \ pact
    复制pact \ matchers.py-> build \ lib \ pact
    复制pact \ pact.py-> build \ lib \ pact
    复制pact \ provider.py-> build \ lib \ pact
    复制pact \ verify.py-> build \ lib \ pact
    复制pact \ __ init__.py-> build \ lib \ pact
    复制pact \ __ version__.py-> build \ lib \ pact
    运行install_lib
    创建c:\ rep \ test_project \ env \ Lib \ site-packages \ pact
    复制build \ lib \ pact \ constants.py-> c:\ rep \ test_project \ env \ Lib \ site-packages \ pact
    复制build \ lib \ pact \ consumer.py-> c:\ rep \ test_project \ env \ Lib \ site-packages \ pact
    复制build \ lib \ pact \ matchers.py-> c:\ rep \ test_project \ env \ Lib \ site-packages \ pact
    复制build \ lib \ pact \ pact.py-> c:\ rep \ test_project \ env \ Lib \ site-packages \ pact
    复制build \ lib \ pact \ provider.py-> c:\ rep \ test_project \ env \ Lib \ site-packages \ pact
    复制build \ lib \ pact \ verify.py-> c:\ rep \ test_project \ env \ Lib \ site-packages \ pact
    复制build \ lib \ pact \ __ init__.py-> c:\ rep \ test_project \ env \ Lib \ site-packages \ pact
    复制build \ lib \ pact \ __ version__.py-> c:\ rep \ test_project \ env \ Lib \ site-packages \ pact
    字节编译c:\ rep \ test_project \ env \ Lib \ site-packages \ pact \ constants.py到constants.pyc
    字节编译c:\ rep \ test_project \ env \ Lib \ site-packages \ pact \ consumer.py到consumer.pyc
    字节编译c:\ rep \ test_project \ env \ Lib \ site-packages \ pact \ matchers.py到matchers.pyc
    字节编译c:\ rep \ test_project \ env \ Lib \ site-packages \ pact \ pact.py至pact.pyc
    字节编译c:\ rep \ test_project \ env \ Lib \ site-packages \ pact \ provider.py到provider.pyc
    字节编译c:\ rep \ test_project \ env \ Lib \ site-packages \ pact \ verify.py以进行verify.pyc
    字节编译c:\ rep \ test_project \ env \ Lib \ site-packages \ pact \ __ init__.py到__init __。pyc
    字节编译c:\ rep \ test_project \ env \ Lib \ site-packages \ pact \ __ version__.py到__version __。pyc
    运行install_egg_info
    运行egg_info
    将要求写到pact_python.egg-info \ requires.txt
    编写pact_python.egg-info \ PKG-INFO
    将顶级名称写入pact_python.egg-info \ top_level.txt
    将dependency_links写入pact_python.egg-info \ dependency_links.txt
    将入口点写入pact_python.egg-info \ entry_points.txt
    读取清单文件“ pact_python.egg-info \ SOURCES.txt”
    阅读清单模板“ MANIFEST.in”
    找不到与“ pact \ test”匹配的先前包含的目录
    找不到与“ pact \ bin”匹配的先前包含的目录
    找不到与“ e2e”匹配的先前包含的目录
    编写清单文件“ pact_python.egg-info \ SOURCES.txt”
    将pact_python.egg-info复制到c:\ rep \ test_project \ env \ Lib \ site-packages \ pact_python-0.10.0-py2.7.egg-info
    运行install_scripts
    将pact-verifier-script.py脚本安装到c:\ rep \ test_project \ env \ Scripts
    将pact-verifier.exe脚本安装到c:\ rep \ test_project \ env \ Scripts
    将pact-verifier.exe.manifest脚本安装到c:\ rep \ test_project \ env \ Scripts
    将已安装文件的列表写入'c:\ users \ 212683〜1 \ appdata \ local \ temp \ pip-tbudil-record \ install-record.txt'
    追溯(最近一次通话):
      文件“”,第1行,位于
      在第139行中输入文件“ c:\ users \ 212683〜1 \ appdata \ local \ temp \ pip-build-b0yskn \ pact-python \ setup.py”
        设置(** setup_args)
      设置中的文件“ c:\ rep \ test_project \ env \ lib \ site-packages \ setuptools \ __ init__.py”,第129行
        返回distutils.core.setup(** attrs)
      安装程序中的文件“ c:\ python27 \ Lib \ distutils \ core.py”,第151行
        dist.run_commands()
      在run_commands中的文件“ c:\ python27 \ Lib \ distutils \ dist.py”,第953行
        self.run_command(cmd)
      在run_command中的文件“ c:\ python27 \ Lib \ distutils \ dist.py”,第972行
        cmd_obj.run()
      文件“ c:\ users \ 212683〜1 \ appdata \ local \ temp \ pip-build-b0yskn \ pact-python \ setup.py”,第54行,正在运行
        install_ruby_app(bin_path)
      在install_ruby_app中的第92行,文件“ c:\ users \ 212683〜1 \ appdata \ local \ temp \ pip-build-b0yskn \ pact-python \ setup.py”
        与ZipFile(path)为f:
      __init__中的文件“ c:\ python27 \ Lib \ zipfile.py”,行770
        self._RealGetContents()
      _RealGetContents中的文件“ c:\ python27 \ Lib \ zipfile.py”,行811
        引发BadZipfile,“文件不是zip文件”
    zipfile.BadZipfile:文件不是zip文件

    ----------------------------------------
命令“ c:\ rep \ test_project \ env \ scripts \ python.exe -u -c”导入设置工具,标记化; __ file __ ='c:\\ users \\ 212683〜1 \\ appdata \\ local \\ temp \\ pip-build-b0yskn \\ pact-python \\ setup.py'; f = getattr(tokenize,'open',open)(__ file __); code = f.read()。replace('\ r \ n', '\ n'); f.close(); exec(compile(code,__file__,'exec'))“ install --record c:\ users \ 212683〜1 \ appdata \ local \ temp \ pip-tbudil-record \ install-record.txt-单一版本-外部管理-编译--install-headers c:\ rep \ test_project \ env \ include \ site \ python2.7 \ pact-python“失败,错误代码为1 c:\ users \ 212683〜1 \ appdata \ local \ temp \ pip-build-b0yskn \ pact-python \

当我尝试查看此文件c:\users\212683~1\appdata\local\temp\pip-build-b0yskn\pact-python\setup.py以查看发生了什么时,该文件不存在。我的假设是只能在安装过​​程中使用它。


期望:安装成功。


实际:_RealGetContents中的文件“ c:\ python27 \ Lib \ zipfile.py”,行811
        引发BadZipfile,“文件不是zip文件”
    zipfile.BadZipfile:文件不是zip文件



编辑:
我一直在调查,在setup.py of pact-python中看起来它安装了ruby应用程序。

我确实有一个C:\rep\test_project\env\Lib\site-packages\pact\bin\win32.zip,但它似乎是空的。

编辑2:
因此,我发现在setup.py中,它正在构建一个uri以从中下载pact-ruby-standalone。构建的uri是https://github.com/pact-foundation/pact-ruby-standalone/releases/download/v1.1.1/pact-1.1.1-win32.zip

我的猜测是下载失败,因此文件中没有任何内容,因此当代码到达Zipfile(path)时,win32.zip中没有任何内容,因此无法提取任何内容?看着这个。

最佳答案

我们发现内部代理由于某种原因无法处理下载文件的请求。

我们正在内部寻求解决方案,以更好地管理此类事情。

关于python - 无法安装pact-python:文件不是zip文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47777088/

10-12 20:58