python虚拟环境打包工具(python3虚拟环境搭建)
Python虚拟环境打包
参数 --no-site-packages 的意思是创建虚拟环境时,不复制主环境中安装的第三方包,也就是创建一个 “干净的” 虚拟环境
virtualenv 还有很多参数,用于不同的使用场景,例如:
Python3.3 之后,可以用模块 venv 代替 virtualenv
在当前目录创建一个名为 myvenv 的虚拟环境
参数:
虚拟环境创建好后,需要激活才能在当前命令行中使用
退出虚拟环境很简单,只需要执行 deactivate 命令就行
一般部署流程是:
deactivate
python 部署可以用虚拟环境吗
Python部署虚拟环境的利器——Virtualenv
virtualenv is a tool to create isolated Python environments.
virtualenv 是创建独立Python开发环境的工具,用于解决同一台机器上不同的Python工程的依赖、版本以及间接权限等问题。比如项目foo1依赖Django1.3,而项目foo2依赖Django1.7,而当前全局开发环境为Django1.8,版本的不同会导致项目所需包的版本不兼容等问题,使项目无法正常运行,使用virtualenv来创建相对独立的虚拟环境,可以很好的解决此类问题。此外,值得一提的是,对于项目打包迁移,如部署Web应用项目等应用场景,virtualenv都很有用武之地。
virtualenv创建一个拥有自己安装目录的环境, 这个环境不与其他虚拟环境共享库, 能够方便的管理python版本和管理python库。
下面介绍一下与使用Virtualenv相关的技巧。
1.安装Virtualenv
$ pip install virtualenv
//或者由于权限问题使用sudo临时提升权限
$ sudo pip install virtualenv
2.virtualenv创建虚拟环境
1 virtualenv ENV
2 #创建一个名为ENV的目录,并安装了ENV/bin/python
3 #创建了lib,include,bin目录,安装了pip
lib目录 : 所有安装的python库都会放在这个目录中的lib/pythonX.X/site-packages/中 ;
bin目录 : bin/python是当前虚拟环境使用的python解析器 ;
如果在命令行中运行virtualenv --system-site-packages ENV, 会继承/usr/lib/python3.6/site-packages下的所有库, 最新版本virtualenv把把访问全局site-packages作为默认行为
default behavior.
3.激活virtualenv
1 #ENV目录下使用如下命令
2 source ./bin/activate #激活当前virtualenv
3 #当用户名前面出现小括号括起来的虚拟环境名时,表明虚拟环境被成功激活
使用“pip list”指令可查看当前库
4.关闭virtualenv
deactivate
5.指定python版本
可使用-p PYTHON_EXE选项在创建虚拟环境的时候指定Python版本
1 #创建python2.7虚拟环境
2 virtualenv -p /usr/bin/python2.7 ENV2.7
3
4 #创建python3.4虚拟环境
5 virtualenv -p /usr/local/bin/python3.4 ENV3.4
这样可以解决不同项目python版本冲突以及和python库版本不兼容等问题。
6.生成可打包环境
某些特殊需求下,可能没有网络,我们希望直接打包一个ENV,解压后直接使用,这时候可以使用virtualenv --relocatable指令将ENV修改为可更改位置的ENV
#对当前已经创建的虚拟环境更改为可迁移
virtualenv --relocatable ./
7.获得帮助
virtualenv -h
python 虚拟环境和包的简介?
Python虚拟环境(Virtual Environment)与包(Package)是Python语言中重要的概念,能够在同一系统中安装和运行不同的Python应用程序,保证各应用程序的独立性和稳定性。虚拟环境是在同一系统中创建多个独立的Python运行环境,以避免不同应用程序之间的冲突。包则是一种组织Python代码的方式,可以将多个Python模块打包成单一实体,方便共享和重复使用。通过使用虚拟环境和包,可以更好地管理Python项目和代码库,提高Python应用程序的开发效率和可维护性。在Python中,可以使用一些工具和库如virtualenv和pip来实现虚拟环境和包的创建、安装和管理。