使用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源使用国内镜像,提升下载速度和安装成功率

目录
相关文章
|
1月前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
22天前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
22天前
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
59 3
|
29天前
|
数据采集 XML 存储
构建高效的Python网络爬虫:从入门到实践
本文旨在通过深入浅出的方式,引导读者从零开始构建一个高效的Python网络爬虫。我们将探索爬虫的基本原理、核心组件以及如何利用Python的强大库进行数据抓取和处理。文章不仅提供理论指导,还结合实战案例,让读者能够快速掌握爬虫技术,并应用于实际项目中。无论你是编程新手还是有一定基础的开发者,都能在这篇文章中找到有价值的内容。
|
1月前
|
存储 数据可视化 数据挖掘
Python数据分析项目:抖音短视频达人粉丝增长趋势
Python数据分析项目:抖音短视频达人粉丝增长趋势
|
1月前
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
|
1月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
32 4
|
1月前
|
存储 API 数据库
使用Python和Flask构建简单的RESTful API
使用Python和Flask构建简单的RESTful API
|
1月前
|
JSON 关系型数据库 测试技术
使用Python和Flask构建RESTful API服务
使用Python和Flask构建RESTful API服务
|
1月前
|
JSON API 数据格式
使用Python和Flask构建简单的Web API
使用Python和Flask构建简单的Web API