首页 > 编程语言 >Python-Virtualenv虚拟环境

Python-Virtualenv虚拟环境

时间:2023-09-04 17:02:28浏览次数:42  
标签:Virtualenv Python my Django project 虚拟环境 安装

一.为何需要

之前我们安装python第三方库时,都是直接通过pip install xx的方式进行安装的,这样会使第三方库直接安装到Python系统环境中,同时默认安装的都是最新版本的第三方库

 

这样安装会存在一个问题:

如果用Django 1.10.x开发了一个网站,同时有一个用Django 0.9开发的旧项目需要维护,但是Django 1.10不再兼容Django 0.9的一些语法。这时候就会碰到一个问题,如何在系统环境中同时拥有Django 1.10和Django 0.9两套不同的环境呢?

解决方案:我们就可以通过安装虚拟环境来解决这个问题,创建多个虚拟环境实现环境拆分,每个虚拟环境安装不同版本的库,从而满足不同的需求,各个虚拟环境之间相互独立、不对其它环境产生影响

 

二.部署

windows安装

虚拟环境的安装位置的修改(重要)

在我们安装虚拟环境之前,如果我们不设置虚拟环境安装的位置,系统则会默认的将虚拟环境安装到固定位置(一般为系统盘(C盘)),会增加我们系统盘的压力,这个时候我们就需要将虚拟环境的安装位置修改到其它任意位置

 

修改方法如下:

1.右键点击‘此电脑’按照如图方法即可完成修改:

 

注意事项

变量名一定为:WORKON_HOME

变量值一定为:虚拟环境安装位置的具体路径(自己新建任意一个文件夹的位置,文件夹名自己定义)

 

linux部署

python安装虚拟环境

pip install virtualenv

 

三.使用

如果存在多个python解释器,可以选择指定一个Python解释器(比如python2.7​​),没有指定则由系统默认的解释器来搭建:

mkdir my_project
cd my_project
virtualenv -p /usr/bin/python2.7 my_project_env

 

将会在当前的目录中创建一个名my_project_env的文件夹,这是一个独立的python运行环境,包含了Python可执行文件, 以及pip库的一份拷贝,这样就能安装其他包了,不过已经安装到系统Python环境中的所有第三方包都不会复制过来,这样,我们就得到了一个不带任何第三方包的“干净”的Python运行环境来。

 

要开始使用虚拟环境,其需要被激活:

source my_project_env/bin/activate

 

停用虚拟环境:

deactivate

四.问题

1.开启虚拟环境后,当前的sys.path是没有.这个当前路径的,所以在a/xx.sh去调用b/cc.sh会报错,没法b.cc这样加载。即使sys.path.append也不行,加了.或者..一样

解决办法:

通过sys.path添加绝对路劲,比如/data/pyscript这样,都根据这个路径来引用其它包

标签:Virtualenv,Python,my,Django,project,虚拟环境,安装
From: https://www.cnblogs.com/rxysg/p/17677542.html

相关文章

  • Windows python版本管理工具pyenv
    windows下的python多环境pyenv-win搭建安装pyenv-win在PowerShell中安装建议使用管理员身份打开PowerShellInvoke-WebRequest-UseBasicParsing-Uri"https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1"-OutFile"./insta......
  • Python——8days
    文件的基本操作文件的读写模式(只读,只写,只追写)文件读写操作相关的办法读取文件的优化操作(重要)单用户注册,单用户登录多用户注册,多用户登录文件的操作模式(文本,二进制我们能够操作哪些类型的文件:.txt没有后缀名的文件我们不能操作wordexcelppt等文件暂时不能够操作 numpypand......
  • Centos安装部署Python-3.7
    部署1.下载wgethttps://www.python.org/ftp/python/3.7.7/Python-3.7.7.tar.xz 2.安装依赖,同时安装一下Centos安装部署opensslyuminstalllibffi-developenssl-devel-yyuminstallxz-devel-yyuminstallpython-backports-lzma-y 3.修改文件tar-xfPython-3......
  • 收藏学习!10个让你事半功倍的Python高级库
    对于初学者而言,Python是一门简单易懂、语法清晰、容易上手的编程语言,这也是很多人喜欢Python的原因之一。还有一部分原因,是因为Python拥有大量开箱即用的第三方库,这也是它与其他编程语言最与众不同的地方。本文为大家推荐10个让你事半功倍的Python高级库,建议收藏学习!1、Da......
  • range方法在Python2和Python3中的不同
    range()方法是Python中常用的方法,但是在Python2和Python3中使用方法不同,下面看下它们的不同使用方法。range方法详解range(start,stop[,step])range是python中的其中一个内置函数作用:可创建一个整数列表。一般用在for循环中。参数说明:start:起点,一般和stop搭配使用,既生成从star......
  • 【Python-装饰器】【示例】日志记录装饰器
    #一个简易的日志记录装饰器,用于记录函数执行信息deflog(func):defwrapper(*args,**kwargs):print(f"调用函数{func.__name__},参数:{args},{kwargs}")result=func(*args,**kwargs)print(f"函数{func}执行结果:{result}")retu......
  • Python爬虫——新手使用代理ip详细教程
    Python代理IP爬虫是一种可以让爬虫拥有更多网络访问权限的技术。代理IP的作用是可以为爬虫提供多个IP地址,从而加快其爬取数据的速度,同时也可以避免因为访问频率过高而被网站封禁的问题。本文将介绍如何使用Python实现代理IP的爬取和使用。一、代理IP的获取首先我们需要找到一个可用......
  • Python垃圾回收
    python垃圾回收目录python垃圾回收1.引用计数器1.1环状双向链表refchain1.2类型封装结构体1.3引用计数器1.4循环引用问题2.标记清除3.分代回收4.小结5.python缓存5.1池(int)5.2free_list(float/list/tuple/dict)基于c语言的源码底层,让你真正的了解垃圾回收机制。引用计数器......
  • Python中列表的概念
    在编程中,列表(List)是一种常用的数据结构,用于存储一组有序的元素。列表是Python中的内置数据类型之一,它允许你在一个变量中存储多个值,并且这些值可以是不同的数据类型,包括整数、浮点数、字符串、其他列表等。Python中的列表使用方括号[]来定义,其中的元素之间用逗号,分隔。以下......
  • 一口气用Python写了13个小游戏(附源码)
    今天给大家分享13个游戏源码,可以自己复现玩玩,研究下里面的编程逻辑,对学习编程(特别是初学者)应该会有很大帮助。1、吃金币源码分享:importosimportcfgimportsysimportpygameimportrandomfrommodulesimport*'''游戏初始化'''definitGame():#初始化pygame,设......