" pip install jq"在Mac和Windows上生成错误

时间:2017-02-16 00:59:26

标签: python windows python-2.7 pip jq

这个issue重复,但第一个答案是错误的(Windows上支持jq),第二个答案是brew所以我猜测是针对Mac的

我正在尝试从Windows命令行为python安装jq,但是由于缺少temp\pip-build-rtnhmg\jq\onig-install-5.9.6文件而导致以下错误: error: [Error 2] The system cannot find the file specified ......和......

  

Command "c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\<USERNAME>\\appdata\\local\\temp\\pip-build-rtnhmg\\jq\\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\<USERNAME>\appdata\local\temp\pip-khvjht-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in c:\users\<USERNAME>\appdata\local\temp\pip-build-rtnhmg\jq\

有谁知道这里出了什么问题?对StackOverflow和Google的搜索并没有给我太多的帮助,而且我对Windows不太好,而且对python / pip还不熟悉。

以下是全文,减去用户名:

Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32>pip install jq
Collecting jq
  Using cached jq-0.1.6.tar.gz
Building wheels for collected packages: jq
  Running setup.py bdist_wheel for jq ... error
  Complete output from command c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\<USERNAME>\\appdata\\local\\temp\\pip-build-rtnhmg\\jq\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d c:\users\<USERNAME>\appdata\local\temp\tmpuvrf_upip-wheel- --python-tag cp27:
  running bdist_wheel
  running build
  running build_ext
  Executing: ./configure CFLAGS=-fPIC --prefix=c:\users\<USERNAME>\appdata\local\temp\pip-build-rtnhmg\jq\onig-install-5.9.6
  error: [Error 2] The system cannot find the file specified

  ----------------------------------------
  Failed building wheel for jq
  Running setup.py clean for jq
Failed to build jq
Installing collected packages: jq
  Running setup.py install for jq ... error
    Complete output from command c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\<USERNAME>\\appdata\\local\\temp\\pip-build-rtnhmg\\jq\\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\<USERNAME>\appdata\local\temp\pip-khvjht-record\install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_ext
    Executing: ./configure CFLAGS=-fPIC --prefix=c:\users\<USERNAME>\appdata\local\temp\pip-build-rtnhmg\jq\onig-install-5.9.6
    error: [Error 2] The system cannot find the file specified

    ----------------------------------------
Command "c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\<USERNAME>\\appdata\\local\\temp\\pip-build-rtnhmg\\jq\\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\<USERNAME>\appdata\local\temp\pip-khvjht-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in c:\users\<USERNAME>\appdata\local\temp\pip-build-rtnhmg\jq\

尝试安装pyjq会产生相同的错误。

我没和jq结婚:我只需要在python中格式化json数据,jq在命令行上做得很好。如果还有其他python包我应该尝试,请随时推荐它们。如上所述,pyjq安装失败并出现相同的错误。

进一步的细节/步骤:

  • 我在Windows 10上并使用the steps from here安装了python 2.7.13,setuptoolspip ...没有发现任何问题。
  • 使用pip,我已经成功安装了其他python包,例如request和jira ......没有注意到任何问题。
  • 使用chocolatey我已经在these steps之后成功为命令行安装了jq ...没有发现任何问题。
  • 我尝试过使用常规权限,以管理员身份运行cmd,启动新的cmd会话,重新启动PC - 但是会遇到相同的错误。
  • 尝试安装pyjq(pip install pyjq)会产生相同的错误。
  • 在Mac上尝试pip install jq并遇到类似错误:

      

    Command "/usr/local/opt/python/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/v5/4x0py0ns2td1h69vgllx7dpr0000gn/T/pip-build-DyMoT4/jq/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/v5/4x0py0ns2td1h69vgllx7dpr0000gn/T/pip-i6UKvt-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/v5/4x0py0ns2td1h69vgllx7dpr0000gn/T/pip-build-DyMoT4/jq/

  • 对于Mac,按照here建议的步骤按照建议成功安装setuptools,但pip install jq仍然失败并出现相同的错误。

1 个答案:

答案 0 :(得分:3)

通过pip

安装

根据pip项目的jq installation steps

  

安装需要构建jq所需的任何程序。这包括:

     
      
  • Autoreconf

  •   
  • 普通的C编译器工具链,例如gcc和make。

  •   
  • libtool

  •   
  • Python标题。

  •   

MACOS

在macOS上,您需要安装XCode,以及以下软件包:

brew install autoconf automake libtool
brew install jq

的Linux

您需要安装以下软件包:

yum install autoconf automake libtool python