python指定包的安装路径
通常python安装包都会被默认装在/usr/local/pythonx/lib/site-packages(linux),但是我们有时想自定义包的安装路径,比如自己项目的某个路径,这样在部署的时候就不用再安装了,大家都知道,java就是这么做的,java项目都是把依赖的lib放到一个目录,不然编译都没法通过,那么在python,我们能不能这样做呢,答案是可以的。 在easy_install的官方
通常python安装包都会被默认装在/usr/local/pythonx/lib/site-packages(linux),但是我们有时想自定义包的安装路径,比如自己项目的某个路径,这样在部署的时候就不用再安装了,一般编译型语言就是这样,会把依赖的库放在项目里的某个文件夹里,比如java/go/c++等,不然编译都没法通过,python由于是动态语言,不需要编译,所以,一般是维护一个第三方库依赖列表,然后部署的时候再装,但是如果我们想要把依赖装在项目目录,其实也是可以的,但是需要注意的是,有些包如果是用c写的,那么可能会不能用,必须用默认方式安装。
下面介绍几种方法来自定义包的安装路径,分别如下:
1.使用--user参数
使用--user参数后,easy_install 会自动在家目录~/下创建一个.local/lib/pythonxx/site-packages/目录,然后把包装到里面。比如装django 那么只需easy_install --user django==2.0,或者pip install django==2.0 --user,如果是下载的源码,就是python setup.py install --user。
2.使用环境变量PYTHONUSERBASE和--user结合的方式
第一种方法虽然更换了目录,但是还是固定的,通过PYTHONUSERBASE这个环境变量(不知道什么是环境变量或不知道怎么设置的可以百度一下:)),则可以自定义目录,比如我的项目目录是/opt/project,然后我把PYTHONUSERBASE环境变量 设置为/opt/project/third/那么结合--user参数后,包就被安装在了/opt/project/third/lib/pythonxx/site-packages下了,当然后面多了几级目录,无伤大雅。
3.使用pip的-t参数
这种是最直接的,很方便,直接 pip install -t 指定路径 包名
4.使用virtualenv
这个大家都应该比较熟悉了,我这里就不赘述了。
好的,以上就是自定义安装包路径的几种方式,希望可以帮到大家。
更多推荐
所有评论(0)