How to install ruamel.yaml w/o native extension - ruamel.yaml

I'd like to install ruamel.yaml on an environment which does not have a compiler, and I do not care about the performances.
What is the proper way to install ruamel.yaml w/o pip trying to build the extension and failing to execute the C compiler which is not installed?
I ran
pip3 install ruamel.yaml
which failed with
building '_ruamel_yaml' extension
creating build/temp.linux-x86_64-3.6
creating build/temp.linux-x86_64-3.6/ext
gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Os -fomit-frame-pointer -g -Os -fomit-frame-pointer -g -Os -fomit-frame-pointer -g -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/include/python3.6m -c ext/_ruamel_yaml.c -o build/temp.linux-x86_64-3.6/ext/_ruamel_yaml.o
unable to execute 'gcc': No such file or directory
error: command 'gcc' failed with exit status 1
----------------------------------------
Command "/usr/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-myos8iv1/ruamel.yaml/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-vuvr4aoi/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-myos8iv1/ruamel.yaml/

Testing if compilation worked and skipping compiling the C extensions if it didn't, was removed from ruamel.yaml when it was no longer dependent on libyaml being available.
That of course doens't mean that the C compiler is available, so this should be considered a regression. In ruamel.yaml>=0.15.41 this should be fixed.

Related

How to install poppler correctly for pdftotext

When I try to build my docker-compose pdftotext seems to fail with this error:
Running setup.py install for pdftotext: finished with status 'error'
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ihm5qxa9/pdftotext/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ihm5qxa9/pdftotext/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-wa_n7pgk/install-record.txt --single-version-externally-managed --compile
cwd: /tmp/pip-install-ihm5qxa9/pdftotext/
Complete output (14 lines):
WARNING: pkg-config not found--guessing at poppler version.
If the build fails, install pkg-config and try again.
running install
running build
running build_ext
building 'pdftotext' extension
creating build
creating build/temp.linux-x86_64-3.6
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DPOPPLER_CPP_AT_LEAST_0_30_0=1 -I/usr/local/include/python3.6m -c pdftotext.cpp -o build/temp.linux-x86_64-3.6/pdftotext.o -Wall
pdftotext.cpp:3:10: fatal error: poppler/cpp/poppler-document.h: No such file or directory
#include <poppler/cpp/poppler-document.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
error: command 'gcc' failed with exit status 1
I've tested this on windows and linux with the same error. Has anyone found a fix for this?
Unfortunately, it is hard to help without knowing the content of your docker-compose/Dockerfile. But as mentioned in the error message, you are missing pkg-config. You should try to run apt-get install pkg-config.
You can also check my answer about how to use the latest version of the Poppler in the Docker.

"python3 setup.py sdist" hangs

I am packaging up a python package, but the command
python3 setup.py sdist
is hanging.
Previously this worked without any problems, but now it hangs while doing:
/usr/bin/gfortran -Wall -g -Wall -g -shared /tmp/tmpm0rbalgy/tmp/tmpm0rbalgy/src.linux-x86_64-3.6/_tortmodule.o /tmp/tmpm0rbalgy/tmp/tmpm0rbalgy/src.linux-x86_64-3.6/fortranobject.o /tmp/tmpm0rbalgy/f90wrap_tort.o tort.o -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7 -lgomp -lgfortran -o ./_tort.cpython-36m-x86_64-linux-gnu.so
Removing build directory /tmp/tmpm0rbalgy
The build directory has certainly been removed, so I'm not sure why it is getting stuck here.

Error When Installing DBI Perl Module

Here is my output, any suggestions? I've tried installing by perl -MCPAN -e shell and then force install DBI.
cpan[10]> force install DBI
Running install for module 'DBI'
Running make for T/TI/TIMB/DBI-1.636.tar.gz
Has already been unwrapped into directory /root/.cpan/build/DBI-1.636-sGWX9V
CPAN.pm: Building T/TI/TIMB/DBI-1.636.tar.gz
gcc -c -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -DVERSION=\"1.636\" -DXS_VERSION=\"1.636\" -fPIC "-I/usr/lib64/perl5/CORE" -W -Wall -Wpointer-arith -Wbad-function-cast -Wno-comment -Wno-sign-compare -Wno-cast-qual -Wmissing-noreturn -Wno-unused-parameter Perl.c
/bin/sh: gcc: command not found
make: *** [Perl.o] Error 127
TIMB/DBI-1.636.tar.gz
/bin/make -- NOT OK
Running make test
Can't test without successful make
Running make install
Make had returned bad status, install seems impossible
Failed during this command:
TIMB/DBI-1.636.tar.gz : make NO
The error message:
/bin/sh: gcc: command not found
so you need to install gcc
As you have already seen, installing gcc will fix the problem.
But I wonder why you don't use the pre-packaged version.
$ sudo yum install perl-DBI
Also, do you realise that Fedora 20 is now unsupported? I strongly suggest that you upgrade to a supported version (Fedora 24 or 25).

Trying to install pymongo on ubuntu 12.04

Background Information:
Hi there. I'm trying to get mongodb and python (2.7.8) working on my ubuntu 12.04 box.
I've got mongodb installed and running...
I *think I have python set up too. Now I'm trying to install pymongo.
Problem
When I try to install pymongo, this is what i get:
me#mydev:~/Documents/Python-2.7.8$ pip install pymongo
Downloading/unpacking pymongo
Cannot fetch index base URL http://pypi.python.org/simple/
Could not find any downloads that satisfy the requirement pymongo
No distributions at all found for pymongo
Storing complete log in /home/me/.pip/pip.log
me#mydev:~/Documents/Python-2.7.8$
The log file pip.log looks like this: http://pastebin.com/15wv38kf
Based on the logs, tt *seems like I need to update the repositories to look for the package in a different URL... but I'm not sure what library / url to add.
Other things I've tested / checked:
Retrieved updated package list:
sudo apt-get update
Proved that python 2.7.8 is installed:
me#medev:~/Documents/Python-2.7.8$ python
Python 2.7.8 (default, Nov 5 2014, 15:18:10)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Proved that PIP is installed:
me#medev:~/Documents/Python-2.7.8$ pip
Usage: pip COMMAND [OPTIONS]
pip: error: You must give a command (use "pip help" to see a list of commands)
me#medev:~/Documents/Python-2.7.8$
Proved that mongodb is installed (but apparently not setup properly!):
me#medev:~/Documents/Python-2.7.8$ mongo
MongoDB shell version: 2.6.5
connecting to: test
2014-11-06T08:23:47.444-0500 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2014-11-06T08:23:47.444-0500 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146
exception: connect failed
me#medev:~/Documents/Python-2.7.8$
Any suggestions would be appreciated.
EDIT 1
I tried to just install using the package manager as suggested, but that doesn't seem to work. Please see the results at: http://pastebin.com/V56KXzFT
Perhaps my test to prove pymongo is installed is faulty?
EDIT 2
I can't remember now but I think by default Ubuntu 12.0.4 comes with python 2.7.3 or something like that. But I'm doing a course, and it requires 2.7.8.
Initially, I downloaded a zip file for python 2.7.6 and saved it in my Documents folder...
I extracted it and ran
./compile
make
make install
then I realized that I needed 2.7.8 and so I did the same thing. Downloaded the zip ... and
compiled.
This is the link that I used as a reference to install 2.7.8:
https://askubuntu.com/questions/101591/how-do-i-install-python-2-7-2-on-ubuntu
Could this be related to the issue?
"pip install pymongo" works fine on my Linux box:
$ sudo pip install pymongo
Downloading/unpacking pymongo
Downloading pymongo-2.7.2.tar.gz (381kB): 381kB downloaded
Running setup.py (path:/tmp/pip_build_root/pymongo/setup.py) egg_info for package pymongo
Installing collected packages: pymongo
Running setup.py install for pymongo
building 'bson._cbson' extension
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -Ibson -I/usr/local/include/python2.7 -c bson/_cbsonmodule.c -o build/temp.linux-x86_64-2.7/bson/_cbsonmodule.o
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -Ibson -I/usr/local/include/python2.7 -c bson/time64.c -o build/temp.linux-x86_64-2.7/bson/time64.o
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -Ibson -I/usr/local/include/python2.7 -c bson/buffer.c -o build/temp.linux-x86_64-2.7/bson/buffer.o
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -Ibson -I/usr/local/include/python2.7 -c bson/encoding_helpers.c -o build/temp.linux-x86_64-2.7/bson/encoding_helpers.o
gcc -pthread -shared -Wl,-rpath /usr/local/lib build/temp.linux-x86_64-2.7/bson/_cbsonmodule.o build/temp.linux-x86_64-2.7/bson/time64.o build/temp.linux-x86_64-2.7/bson/buffer.o build/temp.linux-x86_64-2.7/bson/encoding_helpers.o -L/usr/local/lib -lpython2.7 -o build/lib.linux-x86_64-2.7/bson/_cbson.so
building 'pymongo._cmessage' extension
< ... snip ... >
Successfully installed pymongo
Cleaning up...
I'd guess it failed for you because, perhaps, you first must upgrade "pip" itself.
I notice you've tried various methods of installing PyMongo, and some methods work but when you do "import pymongo" in Python it fails. Here, I guess that you have multiple version of Python installed, and that your default Python is different from the system Python for which PyMongo was installed.

pyFFTW installation into Enthought Canopy

I am trying to install PyFFTW into Enthought Canopy
I'm on a Mac running Mavericks
The initial command and output are below
the problem seems to be with it finding fftw3.h and gcc failing right after that
can anyone help?
Thanks
Canopy 64bit) iz9mbpro:User iz9$ pip install pyfftw
Downloading/unpacking pyfftw
Downloading pyFFTW-0.9.2.tar.gz (336kB): 336kB downloaded
Running setup.py (path:/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/setup.py) egg_info for package pyfftw
Installing collected packages: pyfftw
Running setup.py install for pyfftw
skipping '/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw/pyfftw.c' Cython extension (up-to-date)
building 'pyfftw.pyfftw' extension
gcc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -DNDEBUG -g -O3 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -I/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/include -I/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw -I/Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/numpy/core/include -I/Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/include/python2.7 -I/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/include -I/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw -I/Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/numpy/core/include -I/Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/include/python2.7 -c /Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw/pyfftw.c -o build/temp.macosx-10.6-x86_64-2.7/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw/pyfftw.o
In file included from /Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw/pyfftw.c:256:
In file included from /Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:
In file included from /Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:17:
In file included from /Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1760:
/Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
#warning "Using deprecated NumPy API, disable it by " \
^
/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw/pyfftw.c:260:10: fatal error: 'fftw3.h' file not found
#include "fftw3.h"
^
1 warning and 1 error generated.
error: command 'gcc' failed with exit status 1
Complete output from command /Users/iz9/Library/Enthought/Canopy_64bit/User/bin/python -c "import setuptools, tokenize;file='/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /var/folders/sc/wm52xk5528b2m95ztnh15clj5lkhmb/T/pip-29rHyR-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/iz9/Library/Enthought/Canopy_64bit/User/include/site/python2.7:
running install
running build
running build_py
creating build
creating build/lib.macosx-10.6-x86_64-2.7
creating build/lib.macosx-10.6-x86_64-2.7/pyfftw
copying pyfftw/init.py -> build/lib.macosx-10.6-x86_64-2.7/pyfftw
copying pyfftw/_version.py -> build/lib.macosx-10.6-x86_64-2.7/pyfftw
copying pyfftw/np_fft.py -> build/lib.macosx-10.6-x86_64-2.7/pyfftw
creating build/lib.macosx-10.6-x86_64-2.7/pyfftw/builders
copying pyfftw/builders/init.py -> build/lib.macosx-10.6-x86_64-2.7/pyfftw/builders
copying pyfftw/builders/_utils.py -> build/lib.macosx-10.6-x86_64-2.7/pyfftw/builders
copying pyfftw/builders/builders.py -> build/lib.macosx-10.6-x86_64-2.7/pyfftw/builders
creating build/lib.macosx-10.6-x86_64-2.7/pyfftw/interfaces
copying pyfftw/interfaces/init.py -> build/lib.macosx-10.6-x86_64-2.7/pyfftw/interfaces
copying pyfftw/interfaces/_utils.py -> build/lib.macosx-10.6-x86_64-2.7/pyfftw/interfaces
copying pyfftw/interfaces/cache.py -> build/lib.macosx-10.6-x86_64-2.7/pyfftw/interfaces
copying pyfftw/interfaces/numpy_fft.py -> build/lib.macosx-10.6-x86_64-2.7/pyfftw/interfaces
copying pyfftw/interfaces/scipy_fftpack.py -> build/lib.macosx-10.6-x86_64-2.7/pyfftw/interfaces
running build_ext
skipping '/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw/pyfftw.c' Cython extension (up-to-date)
building 'pyfftw.pyfftw' extension
creating build/temp.macosx-10.6-x86_64-2.7
creating build/temp.macosx-10.6-x86_64-2.7/Users
creating build/temp.macosx-10.6-x86_64-2.7/Users/iz9
creating build/temp.macosx-10.6-x86_64-2.7/Users/iz9/Library
creating build/temp.macosx-10.6-x86_64-2.7/Users/iz9/Library/Enthought
creating build/temp.macosx-10.6-x86_64-2.7/Users/iz9/Library/Enthought/Canopy_64bit
creating build/temp.macosx-10.6-x86_64-2.7/Users/iz9/Library/Enthought/Canopy_64bit/User
creating build/temp.macosx-10.6-x86_64-2.7/Users/iz9/Library/Enthought/Canopy_64bit/User/build
creating build/temp.macosx-10.6-x86_64-2.7/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw
creating build/temp.macosx-10.6-x86_64-2.7/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw
gcc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -DNDEBUG -g -O3 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -I/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/include -I/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw -I/Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/numpy/core/include -I/Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/include/python2.7 -I/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/include -I/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw -I/Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/numpy/core/include -I/Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/include/python2.7 -c /Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw/pyfftw.c -o build/temp.macosx-10.6-x86_64-2.7/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw/pyfftw.o
In file included from /Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw/pyfftw.c:256:
In file included from /Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:
In file included from /Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:17:
In file included from /Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1760:
/Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
warning "Using deprecated NumPy API, disable it by " \
^
/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw/pyfftw.c:260:10: fatal error: 'fftw3.h' file not found
include "fftw3.h"
^
1 warning and 1 error generated.
error: command 'gcc' failed with exit status 1
Cleaning up...
Command /Users/iz9/Library/Enthought/Canopy_64bit/User/bin/python -c "import setuptools, tokenize;file='/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /var/folders/sc/wm52xk5528b2m95ztnh15clj5lkhmb/T/pip-29rHyR-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/iz9/Library/Enthought/Canopy_64bit/User/include/site/python2.7 failed with error code 1 in /Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw
Storing debug log for failure in /Users/iz9/.pip/pip.log
From the PyPi page: "Under linux, to build from source, the FFTW library must be installed already. This should probably work for OSX, though I've not tried it."
There are build instructions for FFTW on Mac at this page.