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

yipeiwu_com7年前Python基础

通常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由__dict__和dir()引发的一些思考

关于__dict__和dir()的区别和作用请参考这篇文章: 基于Python __dict__与dir()的区别详解 说下我当时遇到的问题: class Demo: def _...

python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别

python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别

前言 写爬虫有一个绕不过去的问题就是验证码,现在验证码分类大概有4种: 图像类 滑动类 点击类 语音类 今天先来看看图像类,这类验证码大多是数字、字母的组合,国内也...

在Python的Django框架中调用方法和处理无效变量

方法调用行为 方法调用比其他类型的查找略为复杂一点。 以下是一些注意事项:     在方法查找过程中,如果某方法抛出一个异常,除非该异常有一个 silent...

Django项目后台不挂断运行的方法

方法一: 1、进入项目目录下,运行下面程序: nohup python manage.py runserver 0.0.0.0:5008 & nohup(no hang up)用...

Python实现接受任意个数参数的函数方法

这个功能倒也不是我多么急需的功能,只是恰好看到了,觉得或许以后会用的到。功能就是实现函数能够接受不同数目的参数。 其实,在C语言中这个功能是熟悉的,虽说实现的形式不太一样。C语言中的ma...