python 环境

Posted 花生与浊酒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 环境相关的知识,希望对你有一定的参考价值。

@font-face{ font-family:"Times New Roman"; } @font-face{ font-family:"宋体"; } @font-face{ font-family:"DejaVu Sans"; } @font-face{ font-family:"Calibri"; } @font-face{ font-family:"Microsoft YaHei"; } @font-face{ font-family:"monospace"; } @font-face{ font-family:"serif"; } @font-face{ font-family:"Bitstream Vera Sans Mono"; } @font-face{ font-family:"Liberation Mono"; } @font-face{ font-family:"Segoe UI Symbol"; } @list l0:level1{ mso-level-number-format:decimal; mso-level-suffix:space; mso-level-text:"%1、"; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:0.0000pt; text-indent:0.0000pt; font-family:‘Times New Roman‘;} @list l1:level1{ mso-level-start-at:4; mso-level-number-format:decimal; mso-level-suffix:tab; mso-level-text:"%1."; mso-level-tab-stop:15.6000pt; mso-level-number-position:left; margin-left:0.0000pt; text-indent:0.0000pt; font-family:‘Times New Roman‘;} @list l2:level1{ mso-level-number-format:decimal; mso-level-suffix:none; mso-level-text:"(%1)"; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:5.2500pt;text-indent:0.0000pt;text-indent:0.0000pt; font-family:‘Times New Roman‘;} @list l3:level1{ mso-level-number-format:decimal; mso-level-suffix:tab; mso-level-text:"(%1)"; mso-level-tab-stop:15.6000pt; mso-level-number-position:left; margin-left:0.0000pt; text-indent:0.0000pt; font-family:‘Times New Roman‘;} @list l4:level1{ mso-level-number-format:chinese-counting; mso-level-suffix:none; mso-level-text:"%1、"; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:0.0000pt; text-indent:0.0000pt; font-family:宋体;} p.MsoNormal{ mso-style-name:正文; mso-style-parent:""; margin:0pt; margin-bottom:.0001pt; mso-pagination:none; text-align:justify; text-justify:inter-ideograph; font-family:Calibri; mso-fareast-font-family:宋体; mso-bidi-font-family:‘Times New Roman‘; font-size:10.5000pt; mso-font-kerning:1.0000pt; } h1{ mso-style-name:"标题 1"; mso-style-next:正文; margin-top:5.0000pt; margin-bottom:5.0000pt; mso-margin-top-alt:auto; mso-margin-bottom-alt:auto; mso-pagination:none; text-align:left; font-family:宋体; font-weight:bold; font-size:24.0000pt; mso-font-kerning:22.0000pt; } span.10{ font-family:‘Times New Roman‘; } span.15{ font-family:‘Times New Roman‘; color:rgb(0,0,255); text-decoration:underline; text-underline:single; } span.16{ font-family:‘DejaVu Sans‘; font-size:10.0000pt; } p.pre{ mso-style-name:"HTML 预设格式"; margin:0pt; margin-bottom:.0001pt; mso-pagination:none; text-align:left; font-family:宋体; font-size:12.0000pt; } p.p{ mso-style-name:"普通(网站)"; margin-top:5.0000pt; margin-right:0.0000pt; margin-bottom:5.0000pt; margin-left:0.0000pt; mso-margin-top-alt:auto; mso-margin-bottom-alt:auto; mso-pagination:none; text-align:left; font-family:Calibri; mso-fareast-font-family:宋体; mso-bidi-font-family:‘Times New Roman‘; font-size:12.0000pt; } span.msoIns{ mso-style-type:export-only; mso-style-name:""; text-decoration:underline; text-underline:single; color:blue; } span.msoDel{ mso-style-type:export-only; mso-style-name:""; text-decoration:line-through; color:red; } @page{mso-page-border-surround-header:no; mso-page-border-surround-footer:no;}@page Section0{ margin-top:72.0000pt; margin-bottom:72.0000pt; margin-left:90.0000pt; margin-right:90.0000pt; size:595.3000pt 841.9000pt; layout-grid:15.6000pt; } div.Section0{page:Section0;}

Python环境在线安装

源:

阿里云:http://mirrors.aliyun.com/pypi/simple/

豆瓣:http://pypi.douban.com/simple/

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

中国科学技术大学:https://pypi.mirrors.ustc.edu.cn/simple/

 

 

以前我们搭建虚拟环境需要学习使用virtualenv和virtualenvwrapper,在虚拟环境内管理软件依赖包需要学习使用pip, 而有了pipenv, 前面几个就可以不用学了...

以前我们需要将虚拟环境依赖包的导出为 requirements.txt , 一旦依赖包变动,就要重新导出,而pipenv会自动帮我们生成 Pipfile Pipfile.lock , Pipfile会随着项目,当我们安装时只需在 Pipfile 和 Pipfile.lock 所在的目录下运行 pipenv install

====================================

 

1、 安装python3,会自动安装了pip3

 

2、安装

(1)选择一个目录:

安装:Sudo pip3 install pipenv

更新: sodo pip install --user --upgrade pipenv

(2)目录下产生PipfilePipfile.lock

(3)安装第三方app

 >pipenv install requests==2.13.0

>pipenv install dajango

 

3.卸载

pipenv uninstall requests

 

  1. 不小心安装错了app,写错了app名字,如aalxg

Pipfile.lock不更新,但/home/lxg/.local/share/virtualenvs/learning-wADwUYGI

内部某个地方已经更新了。

会导致ERROR: ERROR: Could not find a version that matches aalxg

解决办法:

(1) pipenv clean  #Uninstalls all packages not specified in Pipfile.lock.

(2) Pipenv uninstall aalxg

 

  1. 环境移植

  在测试环境中,pipenv移植到正式环境,方法

(1)拷贝pipfile, pipfile.lock两个文件到新服务器的某目录

(2)进入该目录,执行>pipenv install

    则会根据pipfile.lock记录的app信息,安装所有需要的app

 

  1. 执行程序: pipenv run python main.py

 

 

 

 

 

 

 

 

 

 

 

 

可以在shell下(>pipenv shell,也可以不在。 shell下,支持command模式。

 

Using $ pipenv run ensures that your installed packages are available to your script. It’s also possible to spawn a new shell that ensures all commands have access to your installed packages with $ pipenvshell.

 

pipenv run python manage.py runserver   #启动django

pipenv run python your_script.py     #运行py脚本

 

 

  1. 冻结pipfile,

所使用的第三方库列表进行打包输出,类似于virtualenv中生成requirements.txt文件

>pipenv lock

 

 

 

>pipenv 会显示相关帮助

>pipenv uninstall --all  卸载所有包

>pipenv uninstall -h 帮助

 

 

 

pipenv install的时候有三种逻辑:

(1)如果目录下没有Pipfile和Pipfile.lock文件,表示创建一个新的虚拟环境;

(2)如果有,表示使用已有的Pipfile和Pipfile.lock文件中的配置创建一个虚拟环境;

3)如果后面带诸如django这一类库名,如:pipenv install django, 表示为当前虚拟环境安装第三方库。

>pipenv sync [option]

安装所有的pipfile.lock中的包。和pipenv install 类似。

pipenv install --ignore-pipfile is nearly equivalent to pipenv sync, but pipenv sync will never attempt to re-lock your dependencies as it is considered an atomic operation. pipenv install by default does attempt to re-lock unless using the --deploy flag.

 

pipfile pipfile.lock的区别:pipfile安装的包中没有指定包的版本,在pipfile.lock中指定了,有这个文件,以后安装的时候将自动安装.lock中指定的版本。

 

Pipenv sync :根据pipfile.lock同步生成相同的环境,包括app和版本号

Pipenv install: 不根据pipfile.lock,而是根据pipfile, 生成环境, 这样,app虽然相同,版本可能不同。

 

 

离线安装python环境

参考:https://imshuai.com/python-pip-install-package-offline-tensorflow

一、visualenv+pip

 

>sudo pip3 install virtualenv

 

 

创建独立于系统pythonpython虚拟环境如下:

>mkdir myenv

>cd myenv

>virtual venv  #创建独立的运行环境venv

 

 

Venv目录下有了python3.exe  pip 等工具,被复制过来。

 

>source activate  #启动环境

 

 

启动后,前面有了(venv)标记。可以安装第三方app

(venv) lxg@lxg-opt:~/learning/cc/myenv/venv/bin$ pip install django

venv)环境下,第三方app安装到 venv环境下。 OS级的python不受影响。实现环境隔离。

 

Myenv可以作为项目project根目录

 

环境隔离原理:原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令pythonpip均指向当前的virtualenv环境。

 

 

二、虚拟环境移植和离线移植(offline)

 

$mkdir myfolder

$cd myfolder

$pip download  requests django    #下载2app

$pip download -r requirements.txt  #批量下载

 

./myenv/myfolder下有下载的app

./myenv/venv/bin是新环境。

为新环境安装下载的app:

pip install --no-index --find-links=file:../../myfolder requests

 

往上走2个目录  ../../

 

可以看到,安装成功!

 

 

 

其他问题:installing python packages without internet and using source code as .tar.gz and .whl

 

 

其他问题:2台在线机器之间复制环境,就简单了

 

 

 

以上是关于python 环境的主要内容,如果未能解决你的问题,请参考以下文章

Windows下python环境,与虚拟环境的搭建 | Python

python命令行创建虚拟环境

如何创建python开发环境

python虚拟环境

python虚拟环境安装

如何配置python的环境变量