通常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

    这个大家都应该比较熟悉了,我这里就不赘述了。

好的,以上就是自定义安装包路径的几种方式,希望可以帮到大家。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐