Python基础(十五)—模块和命名空间、virtualenv与pip

解释器

需要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
      这种方法是最好的,相当于将复杂的名称重命名,简单化。
  • 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:UsersSunnyAppDataLocalProgramsPythonPython36-32Scripts
  • 使用
    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

原文地址:https://www.cnblogs.com/l0zh/p/13739742.html