首页 > 编程知识 正文

配置python隔离环境,python环境怎么配置

时间:2023-12-28 21:11:07 阅读:329232 作者:FUIX

本文目录一览:

怎么用python进入virtualvenv环境

1、安装virtualenv

在安装virtualenv之前,我们需要安装至少有一个版本的python;因为virtualenv是python的一个第三方模块,必须基于python环境才能安装;

如果你的python环境有pip,那么直接使用命令:pip install virtualenv 安装即可;否则需要下载源码,然后使用命令:python install setup.py 来安装

安装之后需要新建virtualenv的独立环境,具体可以查看其帮助命令:virtualenv -h

常用的参数有:

-p:指定一个版本python环境;通常当你的系统中安装了多个python版本时会用到;默认情况下virtualenv会优先选取它的宿主python环境,即它安装在那个python版本下就会默认选择哪个版本作为默认python隔离环境。

--no-site-packages:不使用系统环境的python安装包,即隔离包中不能使用真实python环境的安装包;当前版本这个选项是默认的。

--system-site-packages:与上面相反,使隔离环境能访问系统环境的python安装包

--distribute:copy一个python环境的分支,默认会安装setup、pip、wheel等基础模块

2、激活

安装完了之后就可以创建一个隔离环境了,使用命令:

[html] view plain copy

virtualenv envname ##创建一个新的隔离环境

cd envname

Scriptsactivate ##激活并切换到virtualenv环境

3、使用

创建并激活virtualenv环境后我们就可以正常的方式来使用和安装python安装包及模块了。也可以直接切换到需要执行的python文件目录,使用python xxx.py来保证在隔离环境下执行python文件。

即:我们在需要使用virtualenv环境之前,只要先激活然后使用以往同样的方式来执行python操作、运行python文件即可

4、集成到开发环境

当前在PyCharm中是支持virtualenv环境集成的,其它的IDE暂时未研究,集成也是很方便的:

1、新建一个项目

2、点击解释器栏的设置icon

3、选择virtualenv

4、可以新建也可以选择一个已有的virtualenv环境

配置到之后我们也可以在该项目中测试下,选择一个区别与系统环境的安装模块,查看下其版本是否正确,我这里因为有2个django版本,所以使用django模块来测试的,得到的是正确的结果。

python环境变量的配置

首先鼠标右键此电脑,选择属性;然后点击高级系统设置,点击环境变量;接着点击path进行编辑,在path中添加上python的安装路径;最后点击确定。

工具/原料:

windows7系统

python3.9版

DELL G3电脑。

1、右键点击电脑,打开属性。进去之后,点击高级系统设置。

2、点击环境变量。

3、点击path,进行编辑。

4、在path中添加上python的安装路径,这里是F:Installpython3.7,需要注意的是如果要是有pip安装第三方库的话,需要添加F:Installpython3.7Scripts到变量中。

5、确定进行保存环境变量配置之后,打开命令提示符,输入python,按回车键看到python版本,代表环境变量配置成功。

python虚拟环境—virtual environment

操作系统:ubuntu16.04

举个例子,tensorflow(tf)是一个十分流行的python机器学习库,你现在手里有两个tf项目,其中项目A需要使用 python2.7 + f1.2 ,项目B需要使用 python2.7 + tf1.6 .这两个项目你得同时进行,怎么办?

愚蠢的办法是需要运行项目A时,将python2.7中的tf1.6卸载掉,安装tf1.2;需要运行项目B时,将python2.7中的tf1.2卸载掉,安装tf1.6。如果是单个模块还好,但是tf的不同版本又依赖于python中的其他已安装模块,而且tf1.2和tf1.6对依赖模块有不同的版本要求,那么转换一次得卸载安装好几个模块,是不是很爆炸?

课题组里几个同门共用一台服务器,每个人拥有一个系统账户,其中只有一个人拥有root权限,里面每个人都需要使用python跑程序,而且每个人对python版本以及python模块的版本都有不同需求,很多人又没有root权限,如何解决?

使用python的虚拟环境可以轻松解决上面的问题!

python虚拟环境是一个隔离/独立的python开发环境,和系统python环境可以完全隔离,互不相关,相当于多了一个python开发环境。而且你在python虚拟环境中的开发过程和使用系统python一模一样,你可以在你创建的python虚拟环境中使用pip工具安装任何你需要的模块,该模块和系统python环境完全不相关。虚拟环境的这个特点就能解决上面的问题了。

python有两个模块可以用于创建和管理python虚拟环境:

其中,venv模块在python3.3以上的版本可以使用,而virtualenv在python2.7+和python3.3+都可以使用。

默认的系统python中是没有安装以上两个工具的,需要使用以下命令安装:

安装好之后,就可以使用这两个工具安装python虚拟环境了。

我的系统python版本有python2.7和python3.5,虚拟环境的版本只能是系统中已有的python版本。使用virtualenv安装虚拟环境的命令如下:

什么参数都不指定的话,它会使用 /usr/bin/python 路径下的python解释器版本,即python2.7。因此会默认安装python2.7虚拟环境, /home/yan/env 表示虚拟环境的安装路径。

如果你要安装的是python3.5的虚拟环境,可以这样:

一般情况下,上面两条命令就够了,这样安装得到的python虚拟环境和系统python环境是完全隔离的。

更多的命令选项可以在命令行中直接输入 virtualenv 命令获取。

venv只有python3可以使用,因此只能创建python3的虚拟环境,创建命令如下:

其中, python3 -m venv 是死命令,最后的安装路径自己指定。

注意: 以上两种安装方式在安装虚拟环境的同时也自动安装了pip工具。

安装好虚拟环境之后,每次使用该虚拟环境前需要使用 source 命令 激活 它。假设前面我在 /home/yan/env3/ 目录下安装了python3.5的虚拟环境,现在我使用以下命令激活它:

激活之后,在命令行提示符前面会有 (env3) 的提示,表示当前你处的python虚拟环境,比如我电脑的情况:

现在你可以在激活环境中干任何事情,比如使用pip命令在你新的python虚拟环境中安装模块:

或者执行python脚本。

使用完该虚拟环境之后,你需要在命令行输入 deactivate 命令来 退出 该虚拟环境:

之后就回到了正常的系统python环境中。

由于你创建该虚拟环境的目的是为了跑某个项目的程序,现在该项目做完了,不需要该虚拟环境了,你可以把该虚拟环境直接删除,如何删?

直接将创建虚拟环境时生成的文件夹删掉,就这么简单。比如我要把我刚才创建的env3虚拟环境删除:

在删除虚拟环境前记得一定得先退出该虚拟环境。

python虚拟环境的好处是:每个虚拟环境之间,以及虚拟环境和系统环境之间是完全隔离的,不同虚拟环境中,你可以安装不同版本的模块,就仿佛你可以同时拥有N多个不同的python开发环境。

唯一麻烦的一点是:每次进入某个虚拟环境之前,都要使用 source 命令激活。每次使用完,都要使用 deactivate 命令退出。

如何为python项目创建虚拟环境

我们在开始一个python项目,而不是几行简单的代码时,我们倾向于开始使用第三方的dependencies.当项目越来越大时,我们需要考虑如何有效的管理这些第三方库。当安装第三方库时,我们肯定是想安装在虚拟环境中。帮助我们保持我们实际系统环境的干净,避免打乱整个系统python环境。

我们可以使用pip把第三方库安装到python项目中。一个项目中往往要安装多个,鉴于安装的第三方库的各种版本,可能会导致一些兼容和运行的问题。

当我们在python项目中使用pip install ,我们是安装到全局python下的,将会根据现有的python版本安装第三方包。

我们可以通过以下命令来查找python的安装目录:

如果我们使用pip3 install ,将会安装到python3安装目录的单独的目录下。我们可以用以下命令来覆盖pip3这个命令:

但是这仍然解决不了我们在全局python下安装第三方库的问题,将会出现下列的问题:

为了避免以上的问题,python开发者使用虚拟环境。这个虚拟环境把安装的这些第三方库在一个隔离的环境中(目录内)保存。

确保你的系统上已经安装python

然后看一下pip是否也能正常调用

我们需要一个工具来创建python的虚拟环境,venv。它是封装在python3.3+版本以上的python中的。

如果我们使用python2,我们需要手动安装一个工具。这是为数不多的一个我们需要全局安装的第三方库。

注意:我们将会在文章中讨论很多venv和python3,操作系统环境不同,可能会导致某些命令的些许不同,某些工具的工作原理也些许不同。

如果你的系统上没有安装pip:

我们首先要为项目创建一个文件夹,并进入这个文件夹:

然后我们再创建虚拟环境:

这将会创建一个名为virtualenv的目录,这个目录将会包含bin、lib、include文件夹,还有一个环境配置文件。

所有的文件都是为了确保,所有的代码都运行在当前的虚拟环境下。这会帮我们把工作环境和操作系统环境隔离开来,避免我们之前提到的问题。

为了使用这个虚拟环境,我们需要激活它。激活以后,还会更改我们的命令提示符标志。这个标志也是为了表明虚拟环境已经激活,python的代码都是在这个环境下执行。

在虚拟环境下,无法访问使用全局的第三方库,在虚拟环境内安装的库也无法在外部使用。

在虚拟环境中,只有pip和setuptools是默认安装的。

激活虚拟环境后,变量path也会相应地发生改变,以达到虚拟环境的目的。

当我们完成工作,想切换回操作系统的全局环境,我们需要使用deactivate退出虚拟环境。

我们配置了虚拟环境并激活以后,我们不想在分享项目时,连同使用pip install命令安装的第三方库也一起分享。我们想去除我们的虚拟环境文件夹,但仍然可以在其他的电脑或系统上重新运行我们的工作。

为实现这个目的,我们可以在项目根目录下创建一个requirement文件。假设我们在虚拟环境下安装flask,安装完成后我们使用pip freeze命令。它将会列出我们已经安装过的库名和版本号。

我们可以将这个列表写到requirement文件中,上传到git保存,或以任何形式跟他人分享。

这个命令也可以更新这个requirements.txt文件,所以在每次安装一个新的第三方库时,我们都习惯性的运行一下这个命令,来更新我们的安装列表。

然后,如果任何人想在他们的电脑上运行我们的项目,他们只需要做:

所有的一切都如在我们电脑上运行的一样。

安装pipenv

pipenv基本上是pip的一个替代工具。它引入了两个文件,pipfile用来替换requirements.txt,Pipfile lock(which enables deterministic builds,确定第三方库的子依赖库版本的更新的解决方案)

pipenv在机理上是运行pip和virtualenv,但使用一个命令来简化操作。

安装第三方库,如flask,或numpy

也可以从Version Control system比如git来安装第三方库

需要注意上面的-e参数可以使安装editable,目前对于pipenv来说是必须的。

如果你需要使用pytest来测试项目,但在上线后不需要这个库,你可以指定这个库仅仅作用于开发模式 --dev.

--dev将会把第三库放到pipfile的一个单独的地方【dev-packages】。

如果你现在完成了开发,本地运行正常,你想锁定你的开发环境,并转至线上。使用如下命令确保开发环境:

这个代码将会创建或更新你的环境,你无需手动更改编辑。我们也应该一直使用自动生成的文件。

lock以后,在production环境,你需要安装最新的成功的运行环境。

这个命令是告诉pipenv,安装时忽略pipfile,用pipfile.lock里的列表。pipenv将会创建一模一样的环境,包括子依赖库。

现在,另一个人想要对代码做些更改,这种情况下,他得到代码,包括pipfile,运行如下命令

这个命令将会安装开发所需的所有的第三方库,包括普通的install以及--dev安装的。

举例,现在你开发用到的一个第三库有了版本升级,因为你不需要一个特定的版本,所以你在install的时候没有指定版本号。当你运行pipenv install时,最新版本的第三方库会安装到你的开发环境内。

然后你对代码做了一些更改,结果如预期一样。然后你再重复上面的步骤lock你的环境。并更新至Production.

将会使用默认的editor打开第三方库的代码。

Linux python默认使用conda

本篇介绍如何让linux在不激活任何环境时,调用python命令直接使用到conda的某个子环境。

首先说明本篇文章的工作原由,以及踩过的坑。

在之前的工作中,一般进行python开发都会使用conda进行包管理,以达到隔离多个环境的目的。例如:

问题来了,在一些场景中,外部程序需要调用服务器上的api,又无法做出 conda activate 的命令,命令是直接使用 python xxx.py ,这时候只能使用linux自带的python命令,或者conda的base环境的python命令。所以需要将环境搭建在linux的python或者conda的base。搭建过程中,遇到的问题来自两个方面:

解决方法:将linux默认的python做软链接,链接到conda的子环境。

创建环境: conda create -n child_env python=3.6

切换环境: conda activate child_env

安装pytorch: conda install pytorch torchvision cudatoolkit=10.0

安装tensorflow: conda install tensorflow-gpu

安装其他包: conda install xxx,xxx,...

先将老的链接备份: mv /usr/bin/python /usr/bin/python22

再做链接: ln -s /root/anaconda3/envs/child_env/bin/python3 /usr/bin/python

第一个路径需要改成自己的anaconda路径,child_env改成自己的环境名,第二个路径不用改。

先关掉conda环境: conda deactivate

再运行: python xxx.py

用这个方法,虽然解决了直接调用python命令的问题。但是引入了新的问题。

更换默认python版本

如何配置java和python环境

Java 环境配置

1. 最简单的方法

众所周知,eclipse是需要java运行环境的,其实只需要java虚拟机

jre就行了,也就是说在你的系统中如果已经安装了jre(一般在C:Program Files

(x86)Javajre6),其实只需要copy这个jre文件夹到eclipse下就能顺利运行eclipse了,但是这样做之后eclipse会提示你什么环境变量没有设置,会影响啥啥的,这个我都没有管,以后需要再在意也行。

2. 标准的方法

首先从这里下载jdk (SE是指standard version)

jdk下载地址

配置环境变量

在“系统变量”区域,设置3项属性:JavaHome、PATH、CLASSPATH

JavaHome指明JDK的安装路径 "C:Program FilesJavajdk1.7.0_45"

PATH 是java和javac的目录 ".;%JavaHome%bin;%JavaHome%jrebin"

classpath 是加载类的路径 ".;%JavaHome%libtools.jar;%JavaHome%jrelibrt.jar"

Python插件配置

(1) 安装python插件

打开eclipse中help下的install new software,输入下面网址

选中Pydev安装,安装后eclipse会提醒重启

(2) 配置python解释器

先从官网下载python的安装包

python安装包

安装好python后

如果要在windows命令行下使用python,在系统高级设置中环境变量path中添加python的路径“C:Python27”即可。这一步是很必要的,比如以后要安装python的第三方的库的时候需要在windows下运行setup.py要用到。

验证安装好的方法:

在command中运行:

python -version 应该能成功显示python的版本。

在eclipse中

打开windows-preferences下面配置python解释器的环境,配置好后如图。

然后就可以新建python的工程啦。

(3) python 第三方插件的安装 以及在Eclipse中的识别问题

以安装requests这个python的第三方插件为例

首先从github网站下载request python安装包

点击后面的zip包下载解压到本地任意一个地方,python的安装很简单,正常的安装包中都会有个setup.py这个文件,在terminal下运行:

python setup.py install

这里感叹一句,安装时它会自动寻找python的安装路径,无论是在C盘还是D盘(不过这也可能是因为我提前在系统变量path中配置了python的路径)。然后将需要的文件复制在E:Python27Libsite-packages下。

接下来再次进入eclipse中,重新restore一下preferences下的解释器的路径(估计这一步也是没有必要的),然后重启eclipse,这样python interpreter就能正常识别你新导入的module了。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。