解释器
需要Python解释器去执行.py文件。当我们从Python官方网站下载并安装好Python 3.x后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。
CPython是使用最广的Python解释器。。
其次还有IPython、PyPy、Jython(把Python代码编译成Java字节码执行)、IronPython(把Python代码编译成.Net的字节码)。
模块和命名空间
- 介绍
一个模块就是一个包含pytho代码的文件, 后n缀名成是.py就可以,模块就是个python文件。模块通常当做命名空间使用,避免命名冲突 - 导入模块
假如我们编写一个hello.py模块,只包含一个简单的hi()函数。- import hello
这种导入方法,在引用hi()函数时,是就必须采用:hello.hi() - from hello import hi
这种办法使用hi()函数时,可以直接使用hi()。也可以用from hello import *,但是不推荐!!! - import hello as ho
这种方法是最好的,相当于将复杂的名称重命名,简单化。
- import hello
- if _name_ == ‘_main_’
为了对模块的测试,如上一个例子:hello.py模块,不止包含hi()函数。如果想要对hi()函数进行测试,我们可以在模块后面直接调用函数 hi()。但是这种情况下,当使用到该模块,无论调不调用hi(),都会运行测试函数hi()。由于在主程序中,查看__name__属性必定是输出_main_,如果查看的是:hello._name_,这个则输出为hello
根据上面的说明,则不难想到if _name_ == '_main_'的作用了!当运行的主程序为该模块(测试的时候),则__name__为_main_,则运行对应的测试方法。 - 搜索路径
import sys
print(sys.path)
以上代码查看当前python搜索包的路径,可以用 sys.path.append(‘path’),引入搜索路径 - 包管理
创建包步骤如下:- 创建一个文件夹,名称则为包名称,存放对应模块
- 文件夹内创建一个_init_.py的模块文件,内容可为空。
以上创建完成,调用的话,直接使用包名.模块名,相当于以上的导入方法的模块名前,加上包名。
虚拟环境virtualenv与pip
- 下载
可以直接使用pip3下载virtualenv,下载完成后,默认系统就直接可以使用virtual进行虚拟环境的创建、删除等。如有问题,可以在环境变量Path中(系统或用户变量都可以)进行相应的新增:C:\Users\Sunny\AppData\Local\Programs\Python\Python36-32\Scripts - 使用
virtualenv -p /usr/local/bin/python3.5 --no-site-packages venv
创建一个python3环境下的不包含Python环境中的所有第三方包的虚拟环境venv
激活可以直接运行
venv/bin/activate
则直接进入了虚拟环境中。
退出直接运行:deactivate - 其他命令
virtualenv list 查看所有虚拟环境
删除:直接少出虚拟环境的目录venv即可 - pip
- pip命令
pip --version
pip list
pip install --upgrade pip
pip show Jinja2
pip list --outdated
pip install XXX.whl
python setup.py install
pip install scikit-learn==0.18.0
-
下载源当下载包速度不可观,可以直接指定下载源:
(清华源)pip install virtualenv -i https://pypi.tuna.tsinghua.edu.cn/simple/
(豆瓣源)pip install virtualenv -i https://pypi.doubanio.com/simple/ -
保存虚拟环境
- 可以直接拷贝虚拟环境
- 使用: pip freeze > requirements.txt,导出需求文本
pip install -r requirements.txt,引入需求文本
个人博客:Loak 正 - 关注人工智能及互联网的个人博客
文章地址:Python基础(十五)—模块和命名空间、virtualenv与pip