Экспорт PYTHONPATH - синтаксическая ошибка - PullRequest
1 голос
/ 24 июня 2010

Мне нужно подключить MySQLdb - модуль.

Скачиваю MySQLdb - модуль и устанавливаю его.

Но когда я пишу (в интерактивной оболочке Python): import MySQLdb - я получаю no module named MySQLdb.

Тогда я решил включить каталог MySQLdb в переменную PYTHONPATH.

Я пишу (в интерактивной оболочке Python): export PYTHONPATH=${PYTHONPATH}:/where/module/lives/

И в ответ я получаю синтаксическую ошибку: invalid syntax: экспорт PYTHONPATH ^ = $ {PYTHONPATH}: / где / модуль / живет /

Что не так с синтаксисом здесь?

Ответы [ 3 ]

10 голосов
/ 24 июня 2010

Если вы действительно имеете в виду, что вы набираете

 >>> export PYTHONPATH...

в «интерактивной оболочке» Python, синтаксическая ошибка состоит в том, что это недопустимый Python, это оператор оболочки команды (bash):

 $ export PYTHONPATH="$PYTHONPATH:/where/module/lives/"
 $ python
 Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
 >>> import MySQLdb
 >>>
6 голосов
/ 24 июня 2010

Если вы хотите изменить путь к пакетам из Python, вы можете сделать:

import sys
sys.path.append('/where/module/lives/')

Синтаксис export PYTHONPATH=… понимается оболочками (Bourne) (bash и т. Д.).

Оба варианта имеют свои преимущества:

  • Для модулей, которые не используются часто, подход Python «внутри» часто лучше, так как вам не нужно загрязнять PYTHONPATH путем к пути ко всем второстепенным модулям.
  • Для модулей, которые используются во многих программах, подход с использованием оболочки часто является наилучшим; в этом случае вы можете навсегда изменить PYTHONPATH, обновив его в файле инициализации вашей оболочки (.bashrc и т. д.).
2 голосов
/ 06 апреля 2015

Если вы хотите, чтобы изменение было постоянным, добавьте эту строку в ~ / .bashrc

 export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...