设置python路径

在python开发应用,我们多数是通过pip、easy_install等工具将需要的python安装到自己机子上就可以应用了,但是我们完成开发给用户使用时,程序运行环境就是一个问题。当然,你可以要求客户按照你的方法安装依赖的库,这种方法在部署趋向自动化的今天就显得机械了。

将库直接放在python安装目录下

# 查看python库的安装路径
$ python -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())"
/usr/lib/python2.7/site-packages

# 查看库的路径
$ python -c "import hbase; print hbase.__file__"
/usr/lib/python2.7/site-packages/hbase/__init__.pyc

# 查看可执行文件路径
$ python -c "import sys; print sys.executable"
/usr/bin/python

以上我虚拟机上的路径,这样,你开发的python程序无需关注python库的路径了。

.pth文件中添加路径

通过easy_install安装的python,都会将库的路径放在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)

同样的我们可以在此目录创建自己的.pth文件,然后把自己所依赖的库或自己开发的库的路径添加到此文件中

动态添加库的路径

import sys
sys.path.append('lib_path')

设置PYTHONPATH环境变量

将python库所在的路径添加到PYTHONPATH环境变量中。

https://github.com/torproject/chutney中实例

$ 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作为可执行的shell程序,设置PYTHONPATH环境变量,然后运行对应的程序。

请使用python -h获取python的一下帮助。

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

callinglove

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值