python中使用Python虚拟环境。
虚拟环境其实是为了满足在同一平台上使用不同版本的python、库、包而产生。用专业词语来形容是环境隔离。其实按照常规思维也是可以理解的。在同一平台下,使用相同的库,肯定会产生冲突,尤其是配置环境变量,所有的库包都在同一个地方下取用的情况下。因为我们都知道,在引用库包时,基本都是路径指定,然后到了指定路径下去寻找指定名称的文件。所以放在同一个文件夹下会引起冲突。
环境隔离其实也就是更改查找路径。本质上是可以这么说的。换句话说,如果你把你的库包放在另外一个地方,而你在使用的时候,直接指定你所要版本库包存放路径,并且该路径下的其他配置ok,那么你也可以不用现在这样的虚拟环境来搞。不过仔细想想,其实也是一个粗糙版的虚拟环境。当然,你也可以尝试把主文件复制到你的项目目录下,然后引用,也是可以的。
使用虚拟环境的包是virtualenv。可以看一下你的库里有没有这个包,没有就下载。
pip3 install virtualenv
or
yum install python3-virtualenv
如果包下载好了那么就可以进行下一步。创建虚拟环境。
找一个你想要存放项目的地方,然后
virtualenv py_test
等待程序运行完成即可。
激活虚拟环境:
source /py_test/bin/activate
激活虚拟环境要用到activate这个文件的。所以要用路径来指定他。如果你这个时候很迷,不知道activate是文件还是命令,请记住,他是你刚才创建虚拟环境之后生成的一个文件。然后接下来就是常规使用python的 *** 作。
如果需要退出虚拟环境
deactivate
上述所描述是linux环境下虚拟环境的创建。接下来是win环境下虚拟环境创建。
一、下载virtualenv包
pip install virtualenv
二、创建虚拟环境
virtualenv py_test
三、激活虚拟环境
activate(直接找到activate这个文件,记得,没有其他的后缀,然后运行就好了。在黑框里运行会好了点,不然别的情况无法把控了)
四、退出虚拟环境
deactivate
接下来需要考虑另外一个问题,我们在开发环境下创建虚拟环境进行了相关的开发,那么开发完成后我们需要进行迁移,直接把环境拿过去是不是可以?
查看了一些资料,好像是不可以。当然还没有验证。现在可以分析一下迁移过程中是那么东西发生了变化?为什么迁移之后不可用了呢?
如果是平台相同,那么我们有理由相信一定是某些文件的路径变化所导致,否则都只是文件,只要环境相同,那么进行迁移后,他应该可以正常运行才对。而现在不可以运行,那就只能从环境、路径上入手排查了。
使用win环境迁移到linux环境进行了相关测试,发现没有什么问题,运行十分利。没有报错。所以迁移很顺利。
对于虚拟环境,我们经历了
环境创建——》进入环境——》环境退出。其实这个只是虚拟环境的使用。我们还应该去关注一点,虚拟环境的管理。
如果有多个虚拟环境,应该如何去管理?
这个时候就涉及到了当前有那些虚拟环境实例?
以及如何查看?
当前还尚未解,留待后续吧
关于python虚拟环境,其实还有一些地方没有处理完全。比如虚拟环境内文件层级结构,以及虚拟环境中特有的文件及标识。
从文件中看,只有
lib,scripts,.gitignore,pyvenv.cfg就这几个点,估计cfg是可以进行更改的。换了新的环境后把cfg文件更改是不是就可以完美适配?这个还需要验证。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)