"pip install jq" generates errors on Mac and Windows
Asked Answered
K

3

16

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.

Kalmia answered 16/2, 2017 at 0:59 Comment(1)
if someone hits a problem with installing jq on Mac OS, check whether you have all the prerequisites installed: pypi.python.org/pypi/jqAntineutrino
A
10

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
Ability answered 17/4, 2018 at 15:36 Comment(1)
ditto on windows solution?Electrosurgery
C
1

To install the jq Python module on Windows, you can follow these steps:

  1. Install jq executable:

    • Download the Windows executable for jq from the official repository: https://github.com/stedolan/jq/releases.
    • Choose the appropriate version (e.g., jq-win64.exe for 64-bit Windows).
    • Save the executable file to a location on your computer (e.g., C:\jq\jq-win64.exe).
  2. Add jq executable to the system's PATH:

    • Press Win + X and select "System" or "System Properties."
    • Click on "Advanced system settings" on the left.
    • In the "System Properties" window, click on the "Environment Variables" button.
    • In the "Environment Variables" dialog, locate the "Path" variable in the "System variables" section and select it.
    • Click on the "Edit" button.
    • Click on the "New" button and enter the directory path where the jq executable is located (e.g., C:\jq).
    • Click "OK" on all open dialogs to save the changes.
Chlorophyll answered 12/5, 2023 at 17:35 Comment(0)
C
1

There's a wheel available for jq at https://jeffreyknockel.com/jq/. The author mentions that there are not many tests done on this yet . So, if you do choose to work with it, it's at your own risks. Been using it, so far, no issue. How to go about it?

  • Download the .whlfile matching your Python version
  • Install it:
       pip install [PATH TO .WHL FILE]
    

Ref: https://github.com/mwilliamson/jq.py/issues/20#issuecomment-1411157736

Coston answered 12/6 at 5:3 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.