设置python路径
在python開(kāi)發(fā)應(yīng)用,我們多數(shù)是通過(guò)pip、easy_install等工具將需要的python安裝到自己機(jī)子上就可以應(yīng)用了,但是我們完成開(kāi)發(fā)給用戶使用時(shí),程序運(yùn)行環(huán)境就是一個(gè)問(wèn)題。當(dāng)然,你可以要求客戶按照你的方法安裝依賴的庫(kù),這種方法在部署趨向自動(dòng)化的今天就顯得機(jī)械了。
將庫(kù)直接放在python安裝目錄下
# 查看python庫(kù)的安裝路徑 $ python -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())" /usr/lib/python2.7/site-packages# 查看庫(kù)的路徑 $ python -c "import hbase; print hbase.__file__" /usr/lib/python2.7/site-packages/hbase/__init__.pyc# 查看可執(zhí)行文件路徑 $ python -c "import sys; print sys.executable" /usr/bin/python以上我虛擬機(jī)上的路徑,這樣,你開(kāi)發(fā)的python程序無(wú)需關(guān)注python庫(kù)的路徑了。
.pth文件中添加路徑
通過(guò)easy_install安裝的python,都會(huì)將庫(kù)的路徑放在site-packages目錄下的easy-install.pth文件中
$ pwd /usr/lib/python2.7/site-packages [gongsuo@localhost site-packages]$ cat easy-install.pth import sys; sys.__plen = len(sys.path) ./supervisor-3.1.3-py2.7.egg ./meld3-1.0.2-py2.7.egg ./Sphinx-1.3.1-py2.7.egg ./sphinx_rtd_theme-0.1.8-py2.7.egg ./alabaster-0.7.6-py2.7.egg ./Babel-2.0-py2.7.egg ./snowballstemmer-1.2.0-py2.7.egg ./docutils-0.12-py2.7.egg ./Pygments-2.0.2-py2.7.egg ./Jinja2-2.8-py2.7.egg ./six-1.9.0-py2.7.egg ./pytz-2015.4-py2.7.egg ./MarkupSafe-0.23-py2.7.egg ./shadowsocks-2.8.2-py2.7.egg ./Fabric-1.10.2-py2.7.egg ./paramiko-1.15.2-py2.7.egg ./ecdsa-0.13-py2.7.egg ./pip-7.1.2-py2.7.egg import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new)同樣的我們可以在此目錄創(chuàng)建自己的.pth文件,然后把自己所依賴的庫(kù)或自己開(kāi)發(fā)的庫(kù)的路徑添加到此文件中
動(dòng)態(tài)添加庫(kù)的路徑
import sys sys.path.append('lib_path')設(shè)置PYTHONPATH環(huán)境變量
將python庫(kù)所在的路徑添加到PYTHONPATH環(huán)境變量中。
https://github.com/torproject/chutney中實(shí)例
$ cat chutney #!/bin/sh export PYTHONPATH="`dirname $0`/lib:${PYTHONPATH}" # Use python2, python, python3 in that order [ -n "$PYTHON" ] || {command -v python2 >/dev/null 2>&1 && PYTHON=python2 || \command -v python >/dev/null 2>&1 && PYTHON=python # || \ # Not yet supported # command -v python3 >/dev/null 2>&1 && PYTHON=python3 } # Use python2 if the checks that use "command" fail ${PYTHON:=python2} -m chutney.TorNet "$@"chutney作為可執(zhí)行的shell程序,設(shè)置PYTHONPATH環(huán)境變量,然后運(yùn)行對(duì)應(yīng)的程序。
請(qǐng)使用python -h獲取python的一下幫助。
參考
- Windows下Python添加庫(kù)(模塊)路徑
總結(jié)
以上是生活随笔為你收集整理的设置python路径的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: spring与junit整合测试
- 下一篇: Async