2016-04-20 2 views
2

Я пытаюсь установить alternative regular expression module для замены re, но у меня возникают трудности с установкой модуля. Я уже посетил это stack overflow question и, следуя инструкциям Павана, терминал (я запускаю OSX El Capitan) производит следующий вывод:Установка нового модуля регулярного выражения Python не работает

Редактирование: для уточнения, этот выход был произведен, когда была выписана команда 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 получил сварливый и бросил истерику, любая помощь очень ценится.

+1

бежишь с 'sudo'? Потому что это похоже на ошибку разрешения для меня ... Попробуйте 'sudo pip install regex' – hlt

+0

Cheers, должен был подумать об этом сам, но напуганный C моим терминалом был изверг. :) – Flaze

ответ

2

Это не проблема компиляции. Вы выполняете pip, как пользователь с привилегиями не достаточно:

Permission denied: '/Library/Python/2.7/site-packages/_regex.so' 

Запуск корня:

$ sudo pip install regex 
+0

Спасибо, отвечает на мой вопрос. – Flaze