2016-06-23 2 views
1

Я пытался исправить путь питона на моем процессоре, и изначально я просто пытался изменить .bash_profile, но это не работает, поэтому я использовалКак отменить sys.path.append (pathToModule)

import sys 
sys.pat.append(path/To/Module) 

и теперь, когда я бегу мой сценарий, я получаю сообщение об ошибке

Traceback (most recent call last): File "rootTest.py", line 1, in from ROOT import gROOT, TCanvas, TF1 File "/Users/HenryFroland/Desktop/root/lib/ROOT.py", line 103, in import libPyROOT as _root ImportError: dlopen(/Users/HenryFroland/Desktop/root/lib/libPyROOT.so, 2): Library not loaded: @rpath/libRIO.so Referenced from: /Users/HenryFroland/Desktop/root/lib/libPyROOT.so Reason: image not found

Как я либо устранить эту проблему или отменить sys.path.append(path/To/Module)?

Кроме того, возможно ли экспортировать несколько каталогов в пути python, и если да, то как это сделать?

+2

Удалить эту линию? добавление к 'sys.path' должно только изменить путь поиска для продолжительности выполнения этого скрипта. Это не повлияет на другие скрипты ... – mgilson

+0

Как правило, выключение с 'sys.path' указывает на серьезный дефект дизайна, пути по умолчанию должны быть достаточными. Но ваша ошибка выглядит как 'LD_LIBRARY_PATH' (или лучше,' -rpath') на самом деле. – o11c

ответ

0

Обратите внимание: если вы добавите путь с помощью sys.path.append(), вы сделаете это только для текущего сеанса. Не нужно отменить его.

Просто удалите строку из файла python.

0

Вы пробовали sys.path.pop()
Это удалит последний элемент, который вы добавили, или действительно последний элемент на PYTHONPATH, что бы это ни было.

0

How can I either fix this issue or undo the >sys.path.append(path/To/Module)?

Чтобы отменить sys.path.append, вам просто нужно, чтобы удалить эту строку из вашего сценария. Поскольку путь изменяется только для вашего текущего сценария, а не для всей системы, пока вы не отредактируете PYTHONPATH.

Also, is it possible to export multiple directories in the python path, and if so how do I do that?

Если вы хотите сделать это с помощью sys, вы можете сделать это нравится: sys.path.extend(['/path1', '/path2'])

Смежные вопросы