【发布时间】:2018-05-26 09:39:17
【问题描述】:
我正在尝试安装 pact-python ......仅此而已。
我已经尝试过使用 virtualenv 并且没有尝试过,仍然遇到同样的错误。
我正在跑步:pip install pact-python。
我还尝试添加标志以不使用缓存进行安装,--no-cache-dir。
我在 Windows 10 上使用 python 2.7.14。
输出:
pip install pact-python --no-cache-dir
收集协议-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 中的 requests>=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(来自 requests>=2.5.0->pact-python)
已满足要求:c:\rep\test_project\env\lib\site-packages 中的 certifi>=2017.4.17(来自 requests>=2.5.0->pact-python)
已满足要求:c:\rep\test_project\env\lib\site-packages 中的 urllib3=1.21.1(来自 requests>=2.5.0->pact-python)
已满足要求:c:\rep\test_project\env\lib\site-packages 中的 idna=2.5(来自 requests>=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 --single-version-externally-managed --compile --install-headers c:\rep\test_project\env\include\site\python2.7\pact-python:
运行安装
运行构建
运行 build_py
创建构建
创建构建\库
创建 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 行,在
文件“c:\users\212683~1\appdata\local\temp\pip-build-b0yskn\pact-python\setup.py”,第 139 行,在
设置(**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()
文件“c:\python27\Lib\distutils\dist.py”,第 953 行,在 run_commands
self.run_command(cmd)
文件“c:\python27\Lib\distutils\dist.py”,第 972 行,在 run_command
cmd_obj.run()
文件“c:\users\212683~1\appdata\local\temp\pip-build-b0yskn\pact-python\setup.py”,第 54 行,运行中
install_ruby_app(bin_path)
文件“c:\users\212683~1\appdata\local\temp\pip-build-b0yskn\pact-python\setup.py”,第 92 行,在 install_ruby_app
使用 ZipFile(path) 作为 f:
__init__ 中的文件“c:\python27\Lib\zipfile.py”,第 770 行
self._RealGetContents()
_RealGetContents 中的文件“c:\python27\Lib\zipfile.py”,第 811 行
raise BadZipfile, "文件不是 zip 文件"
zipfile.BadZipfile:文件不是 zip 文件
--------------------------------------
命令 "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 --single-version-externally-managed --compile --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 行
raise 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 python-2.7 pact