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

问题描述 投票:8回答:1

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

Windows

我试图从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上并使用setuptools安装了python 2.7.13,pipthe steps from here ......没有注意到任何问题。
  • 使用pip,我已经成功安装了其他python包,例如request和jira ......没有注意到任何问题。
  • 使用chocolatey我已经成功地为命令行安装了jq,跟随these steps ......没有注意到任何问题。
  • 我尝试过使用常规权限,以管理员身份运行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仍然失败并出现同样的错误。
python windows python-2.7 pip jq
1个回答
5
投票

Installing via pip

根据jq installation stepspip项目:

安装需要构建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
© www.soinside.com 2019 - 2024. All rights reserved.