基于python指定包的安装路径方法


Posted in Python onOctober 27, 2018

通常python安装包都会被默认装在/usr/local/pythonx/lib/site-packages(linux),但是我们有时想自定义包的安装路径,比如自己项目的某个路径,这样在部署的时候就不用再安装了,大家都知道,java就是这么做的,java项目都是把依赖的lib放到一个目录,不然编译都没法通过,那么在python,我们能不能这样做呢,答案是可以的。

在easy_install的官方文档中,介绍了三种方法来自定义包的安装路径,分别如下:

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、使用virtualenv

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

好的,以上就是自定义安装包路径的三种方式,希望可以帮到大家。希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现并行抓取整站40万条房价数据(可更换抓取城市)
Dec 14 Python
python基础教程之五种数据类型详解
Jan 12 Python
Python字典操作详细介绍及字典内建方法分享
Jan 04 Python
浅析python3中的os.path.dirname(__file__)的使用
Aug 30 Python
Gauss-Seidel迭代算法的Python实现详解
Jun 29 Python
python join方法使用详解
Jul 30 Python
django+tornado实现实时查看远程日志的方法
Aug 12 Python
python每天定时运行某程序代码
Aug 16 Python
Python写出新冠状病毒确诊人数地图的方法
Feb 12 Python
python实现一个猜拳游戏
Apr 05 Python
Python使用扩展库pywin32实现批量文档打印实例
Apr 09 Python
python smtplib发送多个email联系人的实现
Oct 09 Python
Python 新建文件夹与复制文件夹内所有内容的方法
Oct 27 #Python
Python利用递归实现文件的复制方法
Oct 27 #Python
python实现本地图片转存并重命名的示例代码
Oct 27 #Python
python将.ppm格式图片转换成.jpg格式文件的方法
Oct 27 #Python
对python 匹配字符串开头和结尾的方法详解
Oct 27 #Python
Python判断以什么结尾以什么开头的实例
Oct 27 #Python
浅谈Python脚本开头及导包注释自动添加方法
Oct 27 #Python
You might like
《雄兵连》系列首部大电影《烈阳天道》:可能是因为期望值太高了
2020/08/18 国漫
总结PHP中DateTime的常用方法
2016/08/11 PHP
AES加解密在php接口请求过程中的应用示例
2016/10/26 PHP
用cssText批量修改样式
2009/08/29 Javascript
提高javascript效率 一次判断,而不要次次判断
2012/03/30 Javascript
HTML上传控件取消选择
2013/03/06 Javascript
jquery马赛克拼接翻转效果代码分享
2015/08/24 Javascript
angular.bind使用心得
2015/10/26 Javascript
js 声明数组和向数组中添加对象变量的简单实例
2016/07/28 Javascript
JavaScript定时器制作弹窗小广告
2017/02/05 Javascript
bootstrap实现的自适应页面简单应用示例
2017/03/09 Javascript
浅谈Angular路由守卫
2017/08/26 Javascript
jsTree事件和交互以及插件plugins详解
2017/08/29 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
详解vue 2.6 中 slot 的新用法
2019/07/09 Javascript
Ant Design Vue 添加区分中英文的长度校验功能
2020/01/21 Javascript
原生JavaScript实现轮播图
2021/01/10 Javascript
[36:41]完美世界DOTA2联赛循环赛FTD vs Magma第一场 10月30日
2020/10/31 DOTA
在Django框架中编写Contact表单的教程
2015/07/17 Python
非递归的输出1-N的全排列实例(推荐)
2017/04/11 Python
python使用knn实现特征向量分类
2018/12/26 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
2019/06/13 Python
用60行代码实现Python自动抢微信红包
2021/02/04 Python
使用HTML5和CSS3制作一个模态框的示例
2018/03/07 HTML / CSS
C语言怎样定义和声明全局变量和函数最好
2013/11/26 面试题
C#实现启动一个进程
2016/10/01 面试题
公司成立感言
2014/01/11 职场文书
大学毕业感言50字
2014/02/07 职场文书
优秀大学生职业生涯规划书
2014/02/27 职场文书
公司业务员岗位职责
2014/03/18 职场文书
英语专业求职信
2014/07/08 职场文书
电子工程求职信
2014/07/17 职场文书
2015年财务人员个人工作总结
2015/07/27 职场文书
MySQL完整性约束的定义与实例教程
2021/05/30 MySQL
css3带你实现3D转换效果
2022/02/24 HTML / CSS
Windows下载并安装MySQL8.0.x 版本的完整教程
2022/04/10 MySQL