python学习笔记

阿远ay 阿远ay     2022-11-29     750

关键词:


前言

Python 应用经常需要使用一些包第三方包或者模块,有时需要依赖特定的包或者库的版本,所以不能有一个能适应所有 Python 应用的软件环境,很多时候不同的 Python 应用所依赖的版本是冲突的,满足了其中一个,另一个则无法运行,解决这一问题的方法是 虚拟环境。虚拟环境是一个包含了特定 Python 解析器以及一些软件包的自包含目录,不同的应用程序可以使用不同的虚拟环境,从而解决了依赖冲突问题,而且虚拟环境中只需要安装应用相关的包或者模块,可以给部署提供便利。


一、conda版(默认已安装Anaconda)

①创建虚拟环境

在开始菜单的所有程序中,选择Anaconda,点击Anaconda Prompt,打开Anaconda的命令行界面,使用conda创建Python虚拟环境的语法格式如下:

conda create -n your_env_name python=x.x
例:conda create -n dataprocess python=3.8
上述代码利用conda命令创建python版本为x.x,名字为your_env_name的虚拟环境。your_env_name文件可以在Anaconda安装目录envcs文件下找到。

②激活虚拟环境

window:activate your_env_name
linux: source activate your_env_name
例:windows:activate dataprocess
linux:source activate dataprocess

③退出虚拟环境

window:deactivate
linux: source deactivate

④删除虚拟环境

conda remove -n your_env_name --all
例:conda remove -n dataprocess --all

⑤其他指令

(1)列出系统存在虚拟环境
conda info -e
conda env list
(2)查看当前环境下已安装的包
conda list
(3)查看某个指定环境的已安装包
conda list -n your_env_name
(4)查找package信息
conda search numpy
(5)安装package
conda install -n venv numpy
#如果不用-n指定环境名称,则被安装在当前激活环境
#也可以通过-c指定通过某个channel安装
(6) 更新package
conda update -n venv numpy
(7)删除package
conda remove -n venv numpy
(8)安装Jupter Lab:
conda install -c conda-forge jupyterlab
#conda-forge是一个包含很多软件包的库,默认是直接使用anaconda库。
(9)运行:
jupyter lab


二、virtualenv版

virtualenv 是目前最流行的 Python 虚拟环境配置工具。它不仅同时支持 Python2 和 Python3,而且可以
为每个虚拟环境指定 Python 解释器,并选择不继承基础版本的包。

优势:

  • 使得不同Python应用的开发环境相互独立
  • 开发环境升级不影响其他应用的开发环境,也不会影响全局的环境(默认开发环境是全局开发环境),因为虚拟环境是将全局环境进行私有的复制,当我在虚拟环境进行 pip install 时,只会安装到选择的虚拟环境中。
  • 防止系统中出现包管理混乱和版本的冲突

①安装virtualenv

pip install virtualenv

②创建虚拟环境

virtualenv your_env_name (名字为your_env_name的虚拟环境。)
例:virtualenv dataprocess
#如果不想使用系统python环境的包,加上–no-site-packeages参数
virtualenv --no-site-packages 创建路径名
(如果有多个python版本,可以通过命令:virtualenv -p python路径 环境名,来创建虚拟环境)

③激活虚拟环境

进入虚拟环境目录的Scripts文件夹下
windows: cd dataprocess
.\\Scripts\\activate.bat
linux: cd dataprocess
source ./bin/activate

④退出虚拟环境

deactivate

⑤删除虚拟环境

没有使用virtualenvwrapper前,可以直接删除venv文件夹来删除环境

⑥使用环境

进入环境后,一切操作和正常使用python一样 安装包使用pip install 包
例:pip install django==2.0


三、Virtualenvwrapper版

Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做: - 将所有虚拟环境整合在一个目录下 - 管理(新增,删除,复制)虚拟环境 - 快速切换虚拟环境。

①安装Virtualenvwrapper

windows:pip install virtualenvwrapper-win

linux:$ sudo easy_install virtualenvwrapper (默认安装在 /usr/local/bin下面)
接下来创建一个文件夹,用来存放所有的虚拟环境:
$ mkdir ~/workspaces
$ cd ~/workspaces
先用
which virtualenvwrapper.sh
which python3
这个命令找到正确路径
然后用
vi ~/.bash_profile 进入
输入
export WORKON_HOME=’~/.virtualenvs’
export VIRTUALENVWRAPPER_PYTHON=’/Users/mac/anaconda/bin/python3’
source /Users/mac/anaconda/bin/virtualenvwrapper.sh
esc退出后:wq进行保存
再运行这个命令 source ~/.bash_profile

centos: 确认pip:whereis pip3
pip3 install virtualenv
安装virtualenvwrapper,为避免超时错误,设置一个超时时间:
pip3 install virtualenvwrapper --default-timeout=1000
pip3 list
3.配置环境变量,增加最后两行
查找virtualenvwrapper所在的路径(记得加.sh要不然查到出来的路径不正确)
[root@localhost ~]# whereis virtualenvwrapper.sh
virtualenvwrapper: /usr/local/bin/virtualenvwrapper.sh
加到~/.bashrc 里面
vim ~/.bashrc
export WORKON_HOME=/root/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
执行:source ~/.bashrc
如果报错:
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3.7 and that PATH is
set properly.
解决:
[finance@finance-06 ~]$ whereis virtualenvwrapper.sh
virtualenvwrapper: /usr/local/python/python3/bin/virtualenvwrapper.sh
[finance@finance-06 ~]$ sudo vim /usr/local/python/python3/bin/virtualenvwrapper.sh
修改后,再source ~/.bashrc

macOS:~/.bash_profile
export WORKON_HOME=’~/myenv’
source /usr/local/bin/virtualenvwrapper.sh
source ~/.bash_profile

macOS / Linux:
pip install --user virtualenvwrapper
#then make Bash load virtualenvwrapper automatically
echo “source virtualenvwrapper.sh” >> ~/.bashrc
source ~/.bashrc

②创建虚拟环境

windows:mkvirtualenv your_env_name / mkvirtualenv --python=python3.6 venv
与直接用virtualenv创建不同的是,前面那个是在当前文件夹下创建虚拟环境,而这个是统一在当前用户的envs文件夹下创建,并且会自动进入到该虚拟环境下
如果不想在默认地方创建(c:\\user\\envs),
可以新建个环境变量:WORKON_HOME,然后里面设置默认路径
如果要指定python版本,则输入:mkvirtualenv --python=python路径(到exe文件) 环境名
macOS/linux:
mkvirtualenv --python=python3.6 venv

③激活虚拟环境

workon #列出虚拟环境列表
workon your_env_name #切换环境

④退出虚拟环境

deactivate

⑤删除虚拟环境

rmvirtualenv your_env_name

⑥其他指令

pip freeze #查看当前安装库版本
#创建 requirements.txt 文件,其中包含了当前环境中所有包及 各自的版本的简单列表
#保持部署相同,一键安装所有包
pip install -r requirements.txt
pip freeze > requirements.txt
lsvirtualenv #列举所有的环境
cdvirtualenv #导航到当前激活的虚拟环境的目录中,相当于pushd 目录
cdsitepackages # 和上面的类似,直接进入到 site-packages 目录
lssitepackages #显示 site-packages 目录中的内容


四、pipenv版

pipenv是Python官方推荐的包管理工具。pipenv集成了pip,virtualenv两者的功能,且完善了两者的一些缺陷。 pipenv使用 Pipfile 和 Pipfile.lock 来管理依赖包,并且在使用pipenv添加或删除包时,自动维护 Pipfile 文件,同时生成 Pipfile.lock 来锁定安装包的版本和依赖信息,避免构建错误。

①安装pipenv

pip install pipenv

②创建虚拟环境

pipenv --three # 使用当前系统中的Python3 创建环境
pipenv --python 3 # 指定使用Python3创建环境
pipenv --python 3.6 # 指定使用Python3.6创建环境
pipenv --python 2.7.14 # 指定使用Python2.7.14创建环境
每次创建环境都会在当前目录下生成一个名为Pipfile文件,用来记录刚创建的环境信息,如果当前目录下之前存在该文件,会将其覆盖。

③激活虚拟环境

pipenv shell

④退出虚拟环境

exit

⑤删除虚拟环境

pipenv --rm

⑥其他指令

pipenv --where # 显示目录信息
pipenv --venv # 显示虚拟环境信息
pipenv --py # 显示Python解释器信息
pipenv install XXX # 安装XXX模块并加入到Pipfile
pipenv graph # 查看目前安装的库及其依赖
pipenv check # 检查安全漏洞
pipenv update --outdated # 查看所有需要更新的依赖项
pipenv update # 更新所有包的依赖项
pipenv update <包名> # 更新指定的包的依赖项
pipenv uninstall XXX # 卸载XXX模块并从Pipfile中移除
pipenv uninstall --all # 卸载全部包并从Pipfile中移除
pipenv uninstall --all-dev # 卸载全部开发包并从Pipfile中移除
生成requirements.txt 文件:
pipenv lock -r > requirements.txt # 将Pipfile和Pipfile.lock文件里面的包导出为>requirements.txt文件
pipenv lock -r --dev > requirements.txt # 将Pipfile和Pipfile.lock文件里面的开发包导出为>requirements.txt文件
#pipenv通过requirements.txt安装包:
pipenv install -r requirements.txt
pipenv install -r --dev requirements.txt # 只安装开发包
(1)pipenv run python xxx.py ##运行python文件
(2)python xxx.py ##激活环境中运行

python机器学习笔记(代码片段)

Python机器学习笔记一机器学习概述1.1人工智能概述1.1.1机器学习与人工智能、深度学习关系机器学习和人工智能、深度学习的关系机器学习是人工智能的一个实现途径深度学习是机器学习的一个方法发展而来达特茅斯会议(Da... 查看详情

python绘制图表的学习笔记

1Pyecharts:百度开源的python图表绘制库Pyecharts-APythonEchartsPlottingLibrarybuiltwithlove. 查看详情

《python深度学习》第一章笔记

《Python深度学习》第一章笔记1.1人工智能、机器学习、深度学习人工智能机器学习深度学习深度学习的工作原理1.2深度学习之前:机器学习简史概率建模早期神经网络核方法决策树、随机森林与梯度提升机回到神经网络1.1人... 查看详情

初识大数据与python语言——学习笔记

学习视频实验现9/30记录一下,21年9月28日开始学习大数据 查看详情

初识大数据与python语言——学习笔记

学习视频实验现9/30记录一下,21年9月28日开始学习大数据 查看详情

《python深度学习》第一章读书笔记

《Python深度学习》读书笔记第一章什么是深度学习1.1人工智能、机器学习与深度学习人工智能的简洁定义:努力将通常由人类完成的智力任务自动化。机器学习与数理统计密切相关。机器学习(尤其是深度学习)呈现出相对较少的数... 查看详情

python学习笔记(代码片段)

...回顾时使用.1.类天下语言是一家,你抄我完,我抄他.没错,python的没啥特殊的,先来个简单的例子:classStudent(object):def__init__(self,name,score):self.name=nameself.score=scoredefg 查看详情

python_游戏开发库pygame学习笔记

Pygame,游戏开发Pygame,游戏开发 查看详情

《南溪的python灵隐笔记》——tqdm的学习笔记(代码片段)

1如何使tqdm的输出信息呈现默认颜色tqdm(range(60),file=sys.stdout)#可以通过修改file的输出流来实现这个功能 查看详情

python学习笔记(代码片段)

python学习笔记1.关于#!/usr/bin/envpython这只是告诉操作系统这个脚本的解释、执行程序的具体位置,加了这个头,在”X”类操作系统中就直接可以这样执行脚本了“hello.py”,否则的话就得这样执行“pythonhello.py”.区别:#... 查看详情

python3学习笔记生成数据

Python3学习笔记(十二)生成数据参考书籍《Python编程:从入门到实践》【美】EricMatthes数字的三次方被称为其立方。请绘制一个图形,显示前5000个整数的立方值importmatplotlib.pyplotaspltx_values=list(range(1,5001))y_values&... 查看详情

python系列学习笔记——入门学习

...于语言的学习可以说大同小异,最近AI的普及,让Python语言火热程度,持续飙升,对此我对Python的研究做一系列的总结。什么是PythonPython是一种解释型、面向对象、动态数据类型的高级程序设计语言,在1989年... 查看详情

python学习笔记

Python虚拟环境前言一、conda版(默认已安装Anaconda)①创建虚拟环境②激活虚拟环境③退出虚拟环境④删除虚拟环境⑤其他指令二、virtualenv版①安装virtualenv②创建虚拟环境③激活虚拟环境④退出虚拟环境⑤删除虚拟环境⑥使用环境... 查看详情

《流畅的python》学习笔记及书评(代码片段)

《流畅的python》学习笔记文章目录《流畅的python》学习笔记写在前面1.Python数据模型1.1特殊方法2.序列构成的数组2.1内置序列类型2.2列表推导和生成器表达式2.3元组不仅仅是不可变的列表2.4切片2.5增量赋值2.6排序2.7数组、内存视... 查看详情

《流畅的python》学习笔记及书评(代码片段)

《流畅的python》学习笔记文章目录《流畅的python》学习笔记写在前面1.Python数据模型1.1特殊方法2.序列构成的数组2.1内置序列类型2.2列表推导和生成器表达式2.3元组不仅仅是不可变的列表2.4切片2.5增量赋值2.6排序2.7数组、内存视... 查看详情

python学习笔记-时间模块

Python里面用来管理时间的模块有2个,分别是time模块和datetime模块,现在看看如何使用首先看看time模块例1import timeprint(time.time()) #时间戳,1970年到现在的秒数-------------------1474347039.991068例2print(time.ctime()) #当前系统时间... 查看详情

2018~2022年python学习笔记

LearnPython.orgInteractivePythonTutorial一、2022年Python案例Python案例:获取天气信息并绘制气温折线图Python练习:目录与文件操作Python案例:求满足条件的人数Python案例:获取全国城市列表(区号与名称)Python案例&... 查看详情

python学习笔记之类(代码片段)

学习思维导图:Python类示例:#_*_coding:UTF-8_*_#开发者:zhuozhiwengang#开发时间:2022/5/816:41#文件名称:ClassObjectPython#开发工具:PyCharm#类定义classPerson:"""创建Person类"""#类实例(对象) 查看详情