python info()怎么看_Python虚拟环境并不是打包放到服务器就可以的,怎么做看这里...
虚拟环境
Python为了解决维护不同应用程序对应不同版本的问题,Python使用了虚拟环境的概念。虚拟环境是Python解释器的完整副本。在虚拟环境中安装三方包时只会作用到虚拟环境,全局Python解释器不受影响。那么,就为每个应用程序安装各自的虚拟环境吧。虚拟环境还有一个好处,即它们由创建它们的用户所拥有,所以不需要管理员帐户。
我们先创建项目目录,我将这个应用命名为microblog:
$ mkdir microblog$ cd microblog
如果你正在使用Python3,虚拟环境已经成为内置模块,可以直接通过如下命令来创建它:
$ python3 -m venv venv
使用这个命令来让Python运行venv
包,它会创建一个名为venv
的虚拟环境。命令中的第一个“venv”是Python虚拟环境包的名称,第二个是要用于这个特定环境的虚拟环境名称。如果你觉得这样很混乱,可以用你自定义的虚拟环境名字替换第二个venv
。我习惯在项目目录中创建了名为venv
的虚拟环境,所以无论何时cd
到一个项目中,都会找到相应的虚拟环境。
请注意,在一些操作系统中,你可能需要在上面的命令中使用python
而不是python3
。一些安装规范对Python 2.x版本使用python
,对3.x版本使用python3
,而另一些则将python
映射到3.x版本。
命令执行完成后,当前目录下就会新增一个名为venv
的目录来存储这个虚拟环境的相关文件。
不管你用什么方法创建虚拟环境,创建完毕之后还需要**才能够进入这个虚拟环境。要**你的全新虚拟环境,需使用以下命令:
$ source venv/bin/activate(venv) $ _
如果你使用的是Microsoft Windows命令提示符窗口,则**命令稍有不同:
$ venv\Scripts\activate(venv) $ _
**一个虚拟环境,终端会话的环境配置就会被修改,之后你键入python
的时候,实际上是调用的虚拟环境中的Python解释器。此外,终端提示符也被修改成包含被**的虚拟环境的名称的格式。这种**是临时的和私有的,因此在关闭终端窗口时它们将不会保留,也不会影响其他的会话。那么,当你需要同时打开多个终端窗口来调试不同的应用时,每个终端窗口都可以**不同的虚拟环境而不会相互影响。
成功创建和**了虚拟环境之后,你可以安装Flask了,命令如下:
$ pip install flask
导出包文件
当你安装好所有依赖包,并完成了自己要写的程序后,可以通过下面的命令,导出所有依赖的包及版本。可以获取到当前环境下的所有安装包的版本,有助于以后布置别台电脑,可以避免bug,从而导入跟现在一样的环境。
1.进入虚拟环境
2.进入项目目录下创建放置包文件的文件夹(whls)
mkdir whls
3.进入whls文件夹,执行导出命令
pip freeze --all > requirements.txt
* 注意 --all 参数,加上此参数会将setuptools、urllib3包进行打包;如果不加,这两个不会打包。
新的环境中已经存在setuptools时,推荐不使用 --all参数,不然重复安装可能会报错。
(导入包时无网络 / 有网络)
pip install --download . -r requirements.txt
* 注意 --download后边的点,代表是下载到当前目录,并且requirements.txt存在于当前目录中,否则会报错。
将这些文件拷贝到目标服务器。接下来通过本地安装的形式进行安装。
安装本地包
一般情况下,我们都是使用pip install
命令在线安装**python第三方库的,但是有些库在安装的时候可能会遇到困难(网络限制),这时我们可能需要离线安装whl文件来安装这个库,下面介绍一下具体操作步骤。
一.下载所需包的whl文件
可以到通过下面的链接去找自己所需的包对应的whl文件
Python扩展包仓库
注意,每个whl文件名中的cp必须与你所用的python版本对应。如cp36**
指的是对应python3.6版本的文件
二.安装wheel模块
在命令行窗口使用命令pip install wheel
在线安装wheel模块
三.安装whl文件
在命令行窗口用cd命令跳转到whl文件所在目录,然后使用命令完成whl文件的安装。
pip install *.whl
快试试你的程序能否运行吧。
上一篇: ViewPager的那些事——你真了解预加载机制吗?
下一篇: 大数据量MySQL备份的PHP脚本