使用virtualenv和pip构建项目所需的独立Python环境

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ESA_DSQ/article/details/82258737 由于最近刚好有个测试需求,来讲一讲如何使用virtualenv和pip构建项目所需的独立Python环境。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ESA_DSQ/article/details/82258737

由于最近刚好有个测试需求,来讲一讲如何使用virtualenv和pip构建项目所需的独立Python环境。关于pip的介绍之前已有一篇博客,链接在下面。今天对pip的介绍主要是关于其他参数。

Python开篇——简介、pip和conda

1 为什么需要独立的Python环境?

在讲技术前,想先讲讲目的。为什么我们需要独立的Python环境?这里就借用virtualenv的文档来解释吧。

virtualenv is a tool to create isolated Python environments.

The basic problem being addressed is one of dependencies and versions, and indirectly permissions. Imagine you have an application that needs version 1 of LibFoo, but another application requires version 2. How can you use both these applications? If you install everything into /usr/lib/python2.7/site-packages (or whatever your platform’s standard location is), it’s easy to end up in a situation where you unintentionally upgrade an application that shouldn’t be upgraded.

Or more generally, what if you want to install an application and leave it be? If an application works, any change in its libraries or the versions of those libraries can break the application.

Also, what if you can’t install packages into the global site-packages directory? For instance, on a shared host.

In all these cases, virtualenv can help you. It creates an environment that has its own installation directories, that doesn’t share libraries with other virtualenv environments (and optionally doesn’t access the globally installed libraries either).

当你在开发or数据分析时,可能会遇上不同的需求,对所需要的包的版本不统一,譬如前一段我在开发D3L Tool的时候遇上的一个问题。当时开发的程序并不能在Win 7系统上运行,后面搜索了很久,发现是pyinstaller版本的问题。但是我又不太想把pyinstaller版本往下降。所以这个时候virtualenv就很有用了。

2 使用virtualenv和pip来构建纯净和独立的Python环境

接下来主要来讲讲怎么操作。另外提一句这里介绍的主要是Windows下的,Linux和Mac的会有些小差别。基于的Python环境是Anaconda2 Python 2.7.12。

2.1 安装

安装部分还是pip大法好。具体就不展开了,pip的安装在前面的博客已经介绍过了。

pip install virtualenv

2.2 使用virtualenv创建Python环境

先选择你要创建的工程路径。用cmd进入到该文件夹里。

cd your project path

接下来有两种情况,virtualenv的使用方式其实与pip类似,它也在Python安装路径的Scripts里。因此根据你是否设置了环境变量就有两种方式运行。

情况1:将Scripts路径设置为电脑的环境变量

virtualenv venv #venv为你的文件名,也就是放置新的、纯净的、独立的Python环境的文件夹

情况2: 没有设置Scripts路径为电脑的环境变量

.../Python/Scripts/virtualenv venv #...表示Python安装路径包,根据个人不同替换,venv同上

接着就开始运行了,定位到我们建立的文件夹下可以看到。

一共有这么几个文件。

接下来在cmd定位到项目路径,并运行如下命令。

cd Scripts
activate

这就进入了virtualenv的Python环境。

关闭这个环境,只需要运行如下命令。

deactivate

2.3 使用pip安装包

其实pip安装的部分我之前已经介绍过了,不过上一篇讲得比较简单,仅仅就讲了讲最简单的pip install。而pip 安装包的时候,由于使用的是国外的地址下载包,可能会有些慢或者经常掉线,因此使用国内镜像是比较快的,另外如前文的需求,有些时候需要安装指定版本的包。这也是这次的重点。

pip install -i "mirror" numpy==version # mirror就是指国内的镜像地址,version就是指包的版本。

主要介绍的两个参数就是如上所示了,一个是填入国内镜像地址,一个是给定指定包的版本。具体镜像地址见问候链接的第二篇文章。这里给出清华的镜像。

清华大学镜像:https://pypi.tuna.tsinghua.edu.cn/simple

本文参考的一些文章链接如下。

1.用virtualenv建立多个Python独立开发环境

2.让PIP源使用国内镜像,提升下载速度和安装成功率

目录
相关文章
|
20天前
|
人工智能 开发者 Python
Chainlit:一个开源的异步Python框架,快速构建生产级对话式 AI 应用
Chainlit 是一个开源的异步 Python 框架,帮助开发者在几分钟内构建可扩展的对话式 AI 或代理应用,支持多种工具和服务集成。
122 9
|
1月前
|
Shell 程序员 开发者
轻松搞定在Python中构建虚拟环境
本教程教你如何使用业界公认的最佳实践,创建一个完全工作的Python开发环境。虚拟环境通过隔离依赖项,避免项目间的冲突,并允许你轻松管理包版本。我们将使用Python 3的内置`venv`模块来创建和激活虚拟环境,确保不同项目能独立运行,不会相互干扰。此外,还将介绍如何检查Python版本、激活和停用虚拟环境,以及使用`requirements.txt`文件共享依赖项。 通过本教程,你将学会: - 创建和管理虚拟环境 - 避免依赖性冲突 - 部署Python应用到服务器 适合新手和希望提升开发环境管理能力的开发者。
|
1月前
|
Python
探索Python虚拟环境:virtualenv、venv与pipenv比较
在Python开发中,有效的环境管理至关重要。virtualenv、venv和pipenv是常用的虚拟环境管理工具。virtualenv支持Python 2.7+和3.3+,可创建独立环境;venv为Python 3.3+内置库,简单轻量但功能有限;pipenv则结合了包管理和虚拟环境管理,生成Pipfile.lock确保依赖确定性和安全性,推荐作为首选工具。
|
2月前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
2月前
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
112 3
|
3月前
|
数据采集 XML 存储
构建高效的Python网络爬虫:从入门到实践
本文旨在通过深入浅出的方式,引导读者从零开始构建一个高效的Python网络爬虫。我们将探索爬虫的基本原理、核心组件以及如何利用Python的强大库进行数据抓取和处理。文章不仅提供理论指导,还结合实战案例,让读者能够快速掌握爬虫技术,并应用于实际项目中。无论你是编程新手还是有一定基础的开发者,都能在这篇文章中找到有价值的内容。
|
3月前
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
170 3
|
JSON 监控 安全
Python开发还在用virtualenv?是时候了解下pipenv了
过去大家经常使用virtualenv来创建虚拟环境,通过pip freeze生成requirements.txt文件,然后通过pip install -r requirements.txt进行项目模块的管理与安装。这样的安装存在很多问题,比如每次更新模块后,需要手动的重新生成依赖文件,等等问题。但看过今天的文章,你会更喜欢pipenv这款工具。
228 0
|
JSON 监控 安全
Python开发还在用virtualenv?不如了解下pipenv...
过去大家经常使用virtualenv来创建虚拟环境,通过pip freeze生成requirements.txt文件,然后通过pip install -r requirements.txt进行项目模块的管理与安装。这样的安装存在很多问题,比如每次更新模块后,需要手动的重新生成依赖文件,等等问题。但看过今天的文章,你会更喜欢pipenv这款工具。
641 0
|
2月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!

热门文章

最新文章