1.
把自己编写的
python
模块添加到
PYTHONPATH
上
要想让
python
解释器找到自己编写的模块,则该模块必须
PYTHONPATH
上,否则在导入该模块时会出现找不到该模块的错误,因此必须把所需要的模块的路径添加到
PYTHONPATH
(一般情况下是把
lib/python2.6/site-packages
添加到
PYTHONPATH
)。具体做法如下:
a.
假设所需要的
python
模块(或包)位于
/home/lxc/software/program/python
b.
把
/home/lxc/software/program/python
添加到
PYTHONPATH
,语法与
shell
里面的
PATH
一样:
export
PYTHONPATH=$PYTHONPATH:/home/lxc/software/program/python
现在就可以使用
getopt_exam.py
模块了,示例如下:
$python
>>>import getopt_exam
>>>getopt_exam
version v1.0
>>>
注意:当第一次导入
getopt_exam
时,
getopt_exam.py
就会被编译为字节码,此时该目录下就会出现一个名为
getopt_exam.pyc
的文件,因为
*.pyc
格式比
*.py
格式导出的速度更快,如果更新了
getopt_exam.py
则必须把它之前被编译的字节码
getopt_exam.pyc
删除,否则在使用这个模块的时候就不会看到更新的部分,因为它是从第一次生成的
getopt_exam.pyc
里面导出来;我们必要对新的
getopt_exam.py
脚本编译成
*.pyc
文件或是直接把
getopt_exam.pyc
(第一次生成)删掉,
python
解释器会自动没有没有相应
*.pyc
的
*.py
文件生成相应的
*.pyc
文件(基本规则:当导入一个模块时,
python
解释器先把
*.py
文件编译成
*.pyc
,然后在从
*.pyc
里面导出)。
2.
在
python
脚本里面使用那些不再
PYTHONPATH
上的第三方包或是自己编写的模块
以使用
/home/lxc/software/program/python/getopt_exam.py
为例。
$python
>>>
import
sys
>>>sys.path.append(“/home/lxc/software/program/python”)
>>>
import
getopt_exam
>>>getopt_exam.version()
version v1.0
>>>
3.
使用
easy_install
来自动安装
python
包
以安装
networkx
为例,把
networkx
安装到路面
/home/lxc/software/program/python/site-packages
下
a.
先将
/home/lxc/software/program/python/site-packages
添加到
PYTHONPATH
;
export PYTHONPATH=$PYTHONPATH:/home/lxc/software/program/python/site-packages
b.
安装版本号大于
1.1
的包
easy_install-2.6 -d /home/lxc/software/program/python/site-packages "networkx>1.1"
4.
使用
EPD
已经安装好的
networkx
包
export
PYTHONPATH=$PYTHONPATH:/home/lxc/software/INSTALL/epd-6.2-2-rh5-x86/lib/python2.6/site-packages
5.
更新
python
包
easy_install-2.6
-U -d /home/lxc/software/INSTALL/epd-6.2-2-rh5-x86/lib/python2.6/site-packages "networkx>1.1"
完成之后在
/home/lxc/software/INSTALL/epd-6.2-2-rh5-x86/lib/python2.6/site-packages
目录下会出现一个文件夹
networkx-1.4-py2.6.egg
,不过现在还不能在
EPD
的命令行里面直接使用更新后的版本(
networkx-1.4
);要使用更新的版本,可以把以前安装的
networkx
直接删掉,或是”
mv networkx networkx.bk”
。
注意
/home/lxc/software/INSTALL/epd-6.2-2-rh5-x86/lib/python2.6/site-packages
必须首先被添加到
PYTHONPATH