我正在尝试安装alternative regular expression module来替换re,但是我在安装模块时遇到了困难。我已经访问了这个stack overflow question,当按照Pavan的指示,终端(我正在运行OSX El Capitan)产生以下输出:
编辑:为了澄清,此输出是在发出命令pip install regex
时生成的。
Collecting regex
Using cached regex-2016.04.15.tar.gz
Installing collected packages: regex
Running setup.py install for regex ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/z6/vncx8j5977xd96vnrtj41xt40000gn/T/pip-build-AwqJ7Z/regex/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/z6/vncx8j5977xd96vnrtj41xt40000gn/T/pip-uG2qOh-record/install-record.txt --single-version-externally-managed --compile:
/Library/Python/2.7/site-packages/setuptools-20.9.0-py2.7.egg/setuptools/dist.py:285: UserWarning: Normalizing '2016.04.15' to '2016.4.15'
running install
running build
running build_py
creating build
creating build/lib.macosx-10.11-intel-2.7
copying Python2/regex.py -> build/lib.macosx-10.11-intel-2.7
copying Python2/_regex_core.py -> build/lib.macosx-10.11-intel-2.7
copying Python2/test_regex.py -> build/lib.macosx-10.11-intel-2.7
running build_ext
building '_regex' extension
creating build/temp.macosx-10.11-intel-2.7
creating build/temp.macosx-10.11-intel-2.7/Python2
cc -fno-strict-aliasing -fno-common -dynamic -arch i386 -arch x86_64 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c Python2/_regex.c -o build/temp.macosx-10.11-intel-2.7/Python2/_regex.o
Python2/_regex.c:16531:77: warning: '&&' within '||' [-Wlogical-op-parentheses]
if (state->total_errors < error_limit || i == 0 &&
~~ ~~~~~~~^~
Python2/_regex.c:16531:77: note: place parentheses around the '&&' expression to silence this warning
if (state->total_errors < error_limit || i == 0 &&
^
Python2/_regex.c:16534:38: warning: variable 'better' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
else if (state->total_errors == error_limit)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Python2/_regex.c:16542:33: note: uninitialized use occurs here
if (better) {
^~~~~~
Python2/_regex.c:16534:34: note: remove the 'if' if its condition is always true
else if (state->total_errors == error_limit)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Python2/_regex.c:16529:40: note: initialize the variable 'better' to silence this warning
BOOL better;
^
= '\0'
Python2/_regex.c:18564:28: warning: unused function 'match_get_group_dict' [-Wunused-function]
Py_LOCAL_INLINE(PyObject*) match_get_group_dict(MatchObject* self) {
^
3 warnings generated.
Python2/_regex.c:16531:77: warning: '&&' within '||' [-Wlogical-op-parentheses]
if (state->total_errors < error_limit || i == 0 &&
~~ ~~~~~~~^~
Python2/_regex.c:16531:77: note: place parentheses around the '&&' expression to silence this warning
if (state->total_errors < error_limit || i == 0 &&
^
Python2/_regex.c:16534:38: warning: variable 'better' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
else if (state->total_errors == error_limit)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Python2/_regex.c:16542:33: note: uninitialized use occurs here
if (better) {
^~~~~~
Python2/_regex.c:16534:34: note: remove the 'if' if its condition is always true
else if (state->total_errors == error_limit)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Python2/_regex.c:16529:40: note: initialize the variable 'better' to silence this warning
BOOL better;
^
= '\0'
Python2/_regex.c:18564:28: warning: unused function 'match_get_group_dict' [-Wunused-function]
Py_LOCAL_INLINE(PyObject*) match_get_group_dict(MatchObject* self) {
^
3 warnings generated.
cc -fno-strict-aliasing -fno-common -dynamic -arch i386 -arch x86_64 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c Python2/_regex_unicode.c -o build/temp.macosx-10.11-intel-2.7/Python2/_regex_unicode.o
cc -bundle -undefined dynamic_lookup -arch i386 -arch x86_64 -Wl,-F. build/temp.macosx-10.11-intel-2.7/Python2/_regex.o build/temp.macosx-10.11-intel-2.7/Python2/_regex_unicode.o -o build/lib.macosx-10.11-intel-2.7/_regex.so
running install_lib
copying build/lib.macosx-10.11-intel-2.7/_regex.so -> /Library/Python/2.7/site-packages
error: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/_regex.so'
----------------------------------------
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/z6/vncx8j5977xd96vnrtj41xt40000gn/T/pip-build-AwqJ7Z/regex/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/z6/vncx8j5977xd96vnrtj41xt40000gn/T/pip-uG2qOh-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/z6/vncx8j5977xd96vnrtj41xt40000gn/T/pip-build-AwqJ7Z/regex/
看起来C编译器脾气暴躁,发脾气,非常感谢任何帮助。
答案 0 :(得分:3)
这不是编译问题。您正在以没有足够权限的用户身份执行pip
:
Permission denied: '/Library/Python/2.7/site-packages/_regex.so'
以root身份运行:
$ sudo pip install regex