pip install re2 gives an error
Question:
I’m trying to download re2 by the command pip install re2
and it gives me this:
Collecting re2
Using cached re2-0.2.22.tar.gz
Building wheels for collected packages: re2
Running setup.py bdist_wheel for re2 ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-_tul1J/re2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('rn', 'n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmpEx8yE1pip-wheel- --python-tag cp27:
running bdist_wheel
running build
running build_ext
building 're2' extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/src
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c src/re2.cpp -o build/temp.linux-x86_64-2.7/src/re2.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
src/re2.cpp:201:29: fatal error: re2/stringpiece.h: No such file or directory
#include "re2/stringpiece.h"
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Failed building wheel for re2
Running setup.py clean for re2
Failed to build re2
Installing collected packages: re2
Running setup.py install for re2 ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-_tul1J/re2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('rn', 'n'), __file__, 'exec'))" install --record /tmp/pip-qsPvRS-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_ext
building 're2' extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/src
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c src/re2.cpp -o build/temp.linux-x86_64-2.7/src/re2.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
src/re2.cpp:201:29: fatal error: re2/stringpiece.h: No such file or directory
#include "re2/stringpiece.h"
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-_tul1J/re2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('rn', 'n'), __file__, 'exec'))" install --record /tmp/pip-qsPvRS-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-_tul1J/re2/
Why it isn’t working? Or should I download re2 by other way?
NOTE: I figured out that re2 must have google’s re2 c++ installed already, If that the problem, can you show me how can I install google’s re2 c++ and re2 in simple way? I got confused from what they wrote about how to install.
After Trying MattDMo’s Solution I got this:
Collecting re2
Using cached re2-0.2.22.tar.gz
Building wheels for collected packages: re2
Running setup.py bdist_wheel for re2 ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-azytbM/re2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('rn', 'n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmpxFXFdmpip-wheel- --python-tag cp27:
running bdist_wheel
running build
running build_ext
building 're2' extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/src
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/local/include -I/usr/include/python2.7 -c src/re2.cpp -o build/temp.linux-x86_64-2.7/src/re2.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /usr/include/c++/4.9/mutex:35:0,
from /usr/local/include/re2/re2.h:184,
from src/re2.cpp:202:
/usr/include/c++/4.9/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support for the
^
In file included from src/re2.cpp:202:0:
/usr/local/include/re2/re2.h:734:16: error: ‘once_flag’ in namespace ‘std’ does not name a type
mutable std::once_flag rprog_once_;
^
/usr/local/include/re2/re2.h:735:16: error: ‘once_flag’ in namespace ‘std’ does not name a type
mutable std::once_flag num_captures_once_;
^
/usr/local/include/re2/re2.h:736:16: error: ‘once_flag’ in namespace ‘std’ does not name a type
mutable std::once_flag named_groups_once_;
^
/usr/local/include/re2/re2.h:737:16: error: ‘once_flag’ in namespace ‘std’ does not name a type
mutable std::once_flag group_names_once_;
^
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Failed building wheel for re2
Running setup.py clean for re2
Failed to build re2
Installing collected packages: re2
Running setup.py install for re2 ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-azytbM/re2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('rn', 'n'), __file__, 'exec'))" install --record /tmp/pip-hKOqNV-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_ext
building 're2' extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/src
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/local/include -I/usr/include/python2.7 -c src/re2.cpp -o build/temp.linux-x86_64-2.7/src/re2.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /usr/include/c++/4.9/mutex:35:0,
from /usr/local/include/re2/re2.h:184,
from src/re2.cpp:202:
/usr/include/c++/4.9/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support for the
^
In file included from src/re2.cpp:202:0:
/usr/local/include/re2/re2.h:734:16: error: ‘once_flag’ in namespace ‘std’ does not name a type
mutable std::once_flag rprog_once_;
^
/usr/local/include/re2/re2.h:735:16: error: ‘once_flag’ in namespace ‘std’ does not name a type
mutable std::once_flag num_captures_once_;
^
/usr/local/include/re2/re2.h:736:16: error: ‘once_flag’ in namespace ‘std’ does not name a type
mutable std::once_flag named_groups_once_;
^
/usr/local/include/re2/re2.h:737:16: error: ‘once_flag’ in namespace ‘std’ does not name a type
mutable std::once_flag group_names_once_;
^
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-azytbM/re2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('rn', 'n'), __file__, 'exec'))" install --record /tmp/pip-hKOqNV-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-azytbM/re2/
Answers:
All you need to do is clone the libre2
Github repo along with the pyre2
Github repo (as the version on PyPI available to pip
has errors in the code), build and install libre2
first, then build and install pyre2
.
- Start your favorite terminal app.
-
Make src
directory in your $HOME
for storing source code:
mkdir ~/src
-
Enter src
dir:
cd ~/src
-
Clone repo (assuming you have git
installed):
git clone https://github.com/google/re2.git
-
Enter re2
dir:
cd re2
-
Make:
make
-
Assuming no errors, make install:
sudo make install
-
Clone pyre2
github repo
git clone https://github.com/axiak/pyre2.git ~/src/pyre2
-
Switch to repo’s directory:
cd ~/src/pyre2
-
Build:
python setup.py build
-
Install:
sudo python setup.py install
If you are on ubuntu,
sudo apt-get install libre2-dev
is required prior to calling
pip install re2
I faced a similar issue.
For me the issue was that the bash_profile
file was not properly configured.
To solve this problem:
Install jdk
Open ~/.bash_profile
in any text editor or use vim ~/.bash_profile
command
and add:
export JAVA_HOME=$(/usr/libexec/java_home)
Open a Terminal and run the source command to apply the changes:
source ~/.bash_profile
After this install re2
using pip
pip install re2
you can use the package:
pip install pyre2
I’m trying to download re2 by the command pip install re2
and it gives me this:
Collecting re2
Using cached re2-0.2.22.tar.gz
Building wheels for collected packages: re2
Running setup.py bdist_wheel for re2 ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-_tul1J/re2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('rn', 'n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmpEx8yE1pip-wheel- --python-tag cp27:
running bdist_wheel
running build
running build_ext
building 're2' extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/src
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c src/re2.cpp -o build/temp.linux-x86_64-2.7/src/re2.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
src/re2.cpp:201:29: fatal error: re2/stringpiece.h: No such file or directory
#include "re2/stringpiece.h"
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Failed building wheel for re2
Running setup.py clean for re2
Failed to build re2
Installing collected packages: re2
Running setup.py install for re2 ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-_tul1J/re2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('rn', 'n'), __file__, 'exec'))" install --record /tmp/pip-qsPvRS-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_ext
building 're2' extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/src
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c src/re2.cpp -o build/temp.linux-x86_64-2.7/src/re2.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
src/re2.cpp:201:29: fatal error: re2/stringpiece.h: No such file or directory
#include "re2/stringpiece.h"
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-_tul1J/re2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('rn', 'n'), __file__, 'exec'))" install --record /tmp/pip-qsPvRS-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-_tul1J/re2/
Why it isn’t working? Or should I download re2 by other way?
NOTE: I figured out that re2 must have google’s re2 c++ installed already, If that the problem, can you show me how can I install google’s re2 c++ and re2 in simple way? I got confused from what they wrote about how to install.
After Trying MattDMo’s Solution I got this:
Collecting re2
Using cached re2-0.2.22.tar.gz
Building wheels for collected packages: re2
Running setup.py bdist_wheel for re2 ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-azytbM/re2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('rn', 'n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmpxFXFdmpip-wheel- --python-tag cp27:
running bdist_wheel
running build
running build_ext
building 're2' extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/src
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/local/include -I/usr/include/python2.7 -c src/re2.cpp -o build/temp.linux-x86_64-2.7/src/re2.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /usr/include/c++/4.9/mutex:35:0,
from /usr/local/include/re2/re2.h:184,
from src/re2.cpp:202:
/usr/include/c++/4.9/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support for the
^
In file included from src/re2.cpp:202:0:
/usr/local/include/re2/re2.h:734:16: error: ‘once_flag’ in namespace ‘std’ does not name a type
mutable std::once_flag rprog_once_;
^
/usr/local/include/re2/re2.h:735:16: error: ‘once_flag’ in namespace ‘std’ does not name a type
mutable std::once_flag num_captures_once_;
^
/usr/local/include/re2/re2.h:736:16: error: ‘once_flag’ in namespace ‘std’ does not name a type
mutable std::once_flag named_groups_once_;
^
/usr/local/include/re2/re2.h:737:16: error: ‘once_flag’ in namespace ‘std’ does not name a type
mutable std::once_flag group_names_once_;
^
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Failed building wheel for re2
Running setup.py clean for re2
Failed to build re2
Installing collected packages: re2
Running setup.py install for re2 ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-azytbM/re2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('rn', 'n'), __file__, 'exec'))" install --record /tmp/pip-hKOqNV-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_ext
building 're2' extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/src
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/local/include -I/usr/include/python2.7 -c src/re2.cpp -o build/temp.linux-x86_64-2.7/src/re2.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from /usr/include/c++/4.9/mutex:35:0,
from /usr/local/include/re2/re2.h:184,
from src/re2.cpp:202:
/usr/include/c++/4.9/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support for the
^
In file included from src/re2.cpp:202:0:
/usr/local/include/re2/re2.h:734:16: error: ‘once_flag’ in namespace ‘std’ does not name a type
mutable std::once_flag rprog_once_;
^
/usr/local/include/re2/re2.h:735:16: error: ‘once_flag’ in namespace ‘std’ does not name a type
mutable std::once_flag num_captures_once_;
^
/usr/local/include/re2/re2.h:736:16: error: ‘once_flag’ in namespace ‘std’ does not name a type
mutable std::once_flag named_groups_once_;
^
/usr/local/include/re2/re2.h:737:16: error: ‘once_flag’ in namespace ‘std’ does not name a type
mutable std::once_flag group_names_once_;
^
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-azytbM/re2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('rn', 'n'), __file__, 'exec'))" install --record /tmp/pip-hKOqNV-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-azytbM/re2/
All you need to do is clone the libre2
Github repo along with the pyre2
Github repo (as the version on PyPI available to pip
has errors in the code), build and install libre2
first, then build and install pyre2
.
- Start your favorite terminal app.
-
Make
src
directory in your$HOME
for storing source code:mkdir ~/src
-
Enter
src
dir:cd ~/src
-
Clone repo (assuming you have
git
installed):git clone https://github.com/google/re2.git
-
Enter
re2
dir:cd re2
-
Make:
make
-
Assuming no errors, make install:
sudo make install
-
Clone
pyre2
github repogit clone https://github.com/axiak/pyre2.git ~/src/pyre2
-
Switch to repo’s directory:
cd ~/src/pyre2
-
Build:
python setup.py build
-
Install:
sudo python setup.py install
If you are on ubuntu,
sudo apt-get install libre2-dev
is required prior to calling
pip install re2
I faced a similar issue.
For me the issue was that the bash_profile
file was not properly configured.
To solve this problem:
Install jdk
Open ~/.bash_profile
in any text editor or use vim ~/.bash_profile
command
and add:
export JAVA_HOME=$(/usr/libexec/java_home)
Open a Terminal and run the source command to apply the changes:
source ~/.bash_profile
After this install re2
using pip
pip install re2
you can use the package:
pip install pyre2