[英]pip install re2 gives an error
我正在尝试通过命令pip install re2
下载 re2,它给了我这个:
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('\r\n', '\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('\r\n', '\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('\r\n', '\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/
为什么它不起作用? 还是我应该通过其他方式下载re2?
注意:我发现re2必须已经安装了google的re2 c++,如果是这个问题,你能告诉我如何以简单的方式安装google的re2 c++和re2吗? 我对他们写的关于如何安装的内容感到困惑。
在尝试了 MattDMo 的解决方案后,我得到了这个:
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('\r\n', '\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('\r\n', '\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('\r\n', '\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/
如果您使用的是 ubuntu,则在调用之前需要sudo apt-get install libre2-dev
pip install re2
您需要做的就是克隆libre2
Github 存储库和pyre2
Github 存储库(因为pip
可用的 PyPI 版本在代码中存在错误),首先构建和安装libre2
,然后构建和安装pyre2
。
在$HOME
src
目录以存储源代码:
mkdir ~/src
输入src
目录:
cd ~/src
克隆仓库(假设你已经安装了git
):
git clone https://github.com/google/re2.git
输入re2
目录:
cd re2
制作:
make
假设没有错误,进行安装:
sudo make install
克隆pyre2
github repo
git clone https://github.com/axiak/pyre2.git ~/src/pyre2
切换到 repo 的目录:
cd ~/src/pyre2
构建:
python setup.py build
安装:
sudo python setup.py install
我遇到了类似的问题。 对我来说,问题是bash_profile
文件没有正确配置。
要解决这个问题:
安装jdk
在任何文本编辑器中打开~/.bash_profile
或使用vim ~/.bash_profile
命令
并添加:
export JAVA_HOME=$(/usr/libexec/java_home)
打开终端并运行 source 命令以应用更改:
source ~/.bash_profile
在此之后使用pip
安装re2
pip install re2
您可以使用 package:
pip install pyre2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.