导出PYTHONPATH - 语法错误
我需要连接MySQLdb这个模块。
我下载了MySQLdb模块并安装了它。
但是当我在Python的交互式命令行中输入 import MySQLdb
时,系统却提示 no module named MySQLdb
,意思是找不到这个模块。
于是我决定把MySQLdb的目录加到PYTHONPATH这个变量里。
我在Python的交互式命令行中输入:export PYTHONPATH=${PYTHONPATH}:/where/module/lives/
结果我收到了一个语法错误的提示:invalid syntax
,意思是语法不对:export PYTHONPATH
^
=${PYTHONPATH}:/where/module/lives/
这里的语法到底哪里出错了呢?
3 个回答
2
如果你想让这个更改永久生效,就在你的~/.bashrc文件中添加这一行。
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages
6
如果你想在Python内部修改包的路径,可以这样做:
import sys
sys.path.append('/where/module/lives/')
像 export PYTHONPATH=…
这样的写法是被(Bourne) shell(比如bash等)理解的。
这两种方法各有优缺点:
- 对于那些不常用的模块,直接在Python内部修改路径通常是最好的选择,因为这样就不用把所有小模块的路径都加到PYTHONPATH里,避免了路径的混乱。
- 而对于那些在很多程序中都会用到的模块,使用shell的方法通常更好;在这种情况下,你可以通过在你的shell初始化文件(比如
.bashrc
等)中更新PYTHONPATH,来永久性地修改它。
13
如果你真的是在 Python 的“交互式命令行”里输入了
>>> export PYTHONPATH...
那么出现语法错误是因为这不是有效的 Python 代码,而是一个命令(bash)行的语句:
$ export PYTHONPATH="$PYTHONPATH:/where/module/lives/"
$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
>>> import MySQLdb
>>>