не удается импортировать модуль Python, несмотря на настройку PYTHONPATH - PullRequest
0 голосов
/ 08 июня 2018

Я пытаюсь объединить некоторые PDF-файлы из командной строки на Mac.

После чтения в Интернете я обнаружил, что здесь есть скрипт на python:

/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py

После сбросамой python как системный 2.7 (sudo port select --set python python27), я получаю эту ошибку при попытке запустить вышеупомянутый скрипт:

Traceback (most recent call last):
  File "/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py", line 23, in <module>
from CoreFoundation import *
ImportError: No module named CoreFoundation

Так что, очевидно, python не может импортировать что-то под названием CoreFoundation.Глядя, я нахожу в этом месте CoreFoundation.py в моей файловой системе:

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/Carbon/CoreFoundation.py

И, действительно, проверка переменной sys.path, похоже, указывает на то, что вышеупомянутый каталог каким-то образом пропущен:

$ python
>>> import.sys
>>> sys.path
['', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages']

(Простите за длинную непрерывную линию. Дело в том, что такие вещи, как

'/ opt / local / Library / Frameworks / Python.framework / Versions / 2.7 / lib / python2.7 / plat-Пакеты mac / lib-script '

находятся в sys.path, но уже упоминались

' / opt / local / Library / Frameworks / Python.framework / Versions / 2.7 / lib /python2.7 / plat-mac / Carbon '

нет.) Поэтому я пытаюсь вручную добавить PYTHONPATH (который ранее был пустым):

PYTHONPATH = "/ opt / local / Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/Carbon"

... но даже после этого я получаю ту же ошибку ImportError: No module named CoreFoundation.

Что мне делать?

...