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