导出PYTHONPATH - 语法错误

2 投票
3 回答
52382 浏览
提问于 2025-04-16 00:22

我需要连接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
 >>>

撰写回答