Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"pip install jq" generates errors on Mac and Windows

Duplicate of this issue, but the first answer there is wrong (jq is supported on Windows) and the second refers to brew so I'm guessing is for Mac.

Windows

I am trying to install jq for python from the Windows command line, but get the following errors, possibly due to a missing temp\pip-build-rtnhmg\jq\onig-install-5.9.6 file: error: [Error 2] The system cannot find the file specified ... and ...

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\

Does anyone know what's gone wrong here? Searches on StackOverflow and Google aren't giving me much to go on, and I'm not great with Windows and still new to python/pip.

Here is the full text, minus username:

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\

Trying to install pyjq instead generates the same errors.

I'm not married to jq: I just need to format json data in python, and jq does a great job on the command line. If there are other python packages I should try instead, please feel free to recommend them. As mentioned above though, pyjq is failing install with the same errors.

Further details / steps taken:

  • I am on Windows 10 and have installed python 2.7.13, setuptools and pip using the steps from here ... no issues noted.
  • Using pip, I have successfully installed other python packages such as request and jira ... no issues noted.
  • Using chocolatey I have successfully installed jq for the command line, following these steps ... no issues noted.
  • I have tried using regular permissions, running cmd as administrator, starting a new cmd session, restarting the PC - but get the same errors.
  • Trying to install pyjq (pip install pyjq) generates the same errors.
  • Tried pip install jq on a Mac and got similar errors:

    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/

  • for the Mac, followed the steps suggested from here and successfully installed setuptools as suggested, but pip install jq still fails with the same error.

like image 967
code_and_coffee Avatar asked Feb 16 '17 00:02

code_and_coffee


1 Answers

Installing via pip

As per jq installation steps for pip's project:

Installation requires any programs required to build jq. This includes:

  • Autoreconf

  • The normal C compiler toolchain, such as gcc and make.

  • libtool

  • Python headers.

macOS

On macOS, you need XCode to be installed, and the following packages:

brew install autoconf automake libtool
brew install jq

Linux

You need the following packages to be installed:

yum install autoconf automake libtool python
like image 142
kenorb Avatar answered Oct 02 '22 12:10

kenorb