• [TimLinux] Python如何运行程序


    1. Python解释器安装

    访问官方网站:https://www.python.org/, 在首页标签中找到“Downloads”,根据不同的操作系统,选择相应的下载源文件即可。

    2. 源码安装

    在Linux、MacOS平台,我推荐大家采用源码的方式来安装,以Python3.6.5版本在CentOS7.0+64bit系统上的安装为例:

    $ tar zxf Python-3.6.5.tar.xz

    $ cd Python-3.6.5/

    $ ./configure --prefix=/opt/inst/ --enable-shared --enable-optimizations

    • 推荐大家打开--enable-shared,这个选项用于控制生成python的动态库文件
    • 在 configure 完之后,会提示打开一个开关, --enable-optimizations 主要是性能方面的优化,在生产环境,大家可以把这个选项打开。

    $ make -j16 (如果你电脑有16CPU,建议设置最高的并行编译速度)

    • 这个操作完成之后,会提示有那些功能没有编译进去,这个时候大家需要安装这些功能对应依赖的软件包,比如sqlite3,则需要安装sqlite3-devel,ssh功能需要安装openssl-devel,多数包是可能完全根据提示找到对应的软件包的,同样因为我的虚拟机尚未准备好,暂时无法提供完成的包列表。
    • 更新依赖包列表:readline-devel, sqlite-devel, tk-devel, openssl-devel, bzip2-devel

    $ make -j16 install

    ==> 安装完成

    此时还是无法启动python程序的,我们需要更新ldconfig程序

    $ cat > /etc/ld.conf.d/python-3.6.5-x86_64.conf

    /opt/inst/lib/

    $ ldconfig

    install,更新etc下的文件,执行ldconfig命令是需要root用户权限的。

    验证是否完成成功:

    $ /opt/inst/bin/python3

    >>> print("Hello World!")

    3. 牵涉的几个文件

    • .py文件:存放Python代码的文件
    • __pycache__目录:存放Python编译后字节码文件(.pyc, .pyo)文件的目录
    • .pyc文件:Python字节码文件
    • .pyo文件:Python以优化方式编译得到的字节码文件

    4. 执行方式

    • 交互模式运行:直接执行python3命令,进入交互模式
    • 命令行模式运行:python -c "print('hello world!'“)可以执行单行命令
    • 文件模式运行:python hello.py
    • 文件直接执行模式:./hello.py
      • Windows: 在文件开头加上:#!C:Python3python3.exe
      • Linux: 在文件开头加上:#!/opt/inst/bin/python3,并授予文件执行权限chmod a+x hello.py

    5. 最佳交互式

    Python具有丰富的第三方软件包,其中"ipython"是我认为最优秀的用于交互模式的一个软件包,这个软件包安装后,能够使得Python交互式下具有函数、变量自动提示功能

    请访问:https://pypi.org,搜索ipython下载安装到/opt/inst/路径中

    下载依赖的ipython包,如果可以联网,则直接通过pip3 install ipython方式安装,不能联网则需要下载依赖的包:

    decorator, ipython, ipython_genutils, jedi, parso, pexpect, pickleshare, prompt_toolkit, ptyprocess, Pygments, setuptools, pip, simplegeneric(这个包提供的是zip格式,需要先安装),six, traitlets, wcwidth, wheel, 其他包下载whl格式,然后通过pip3 install *.whl(*.whl方式能够在多个包直接自动查找依赖,动态安装)

    今天有点晚,就先介绍这么多,下次将介绍python比较通用的IDE软件。

  • 相关阅读:
    Iterator 迭代器
    Collection-List
    Collection-Set
    Collection
    多线程
    面向对象<高级>知识点
    链表
    面向对象<基础>知识点
    三层架构和MVC模式详解
    impala为什么比hive快
  • 原文地址:https://www.cnblogs.com/timlinux/p/9080470.html
Copyright © 2020-2023  润新知