[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:\Python3\python3.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软件。
[TimLinux] Python如何运行程序的更多相关文章
- 第二章 python如何运行程序
一.python解释器介绍 Python解释器是一种让程序运行起来的程序.实际上,解释器是代码与机器的计算机硬件之间的软件逻辑层.当Python包安装在机器上后,它包含了一些最小化的组件:一个解释器和 ...
- Python如何运行程序
人生苦短,我用Python. 作为一个开发人员,如何写代码是必须要知道的,代码如何运行也是有必要了解的.通过了解代码如何运行,可指导我们写出效率更高的代码.下午看了<Python学习手册> ...
- 《Python学习手册 第五版》 -第2章 Python如何运行程序
第二章主要讲解了Python的运行机制, 在开始之前,需要明确以下几点 因为<Python学习手册>这本书是面向市场很多人的,既然有很多人,就有很多不一样的需求和使用情况,这本书涵盖Pyt ...
- 在Python解释器运行程序
在解释器中运行 ***.py文件的方法:使用import添加模块 ***.py,然后调用 ***.py中的函数 例:在zoo.py中定义hours函数 运行方法: >>> impo ...
- VSCode的Python扩展下程序运行的几种方式与环境变量管理
在VSCode中编写Python程序时,由于有些地方要使用环境变量,但是发现设置的环境变量有时不起作用,花了点时间研究了一下,过程不表,直接说结论. 首先,环境变量的设置,Python扩展中有三种方式 ...
- day2 编程语言介绍、Python运行程序的两种方式、变量
一 编程语言介绍 1. 机器语言 用计算机能理解的二进制指令直接编写程序,直接控制硬件 2. 汇编语言 用英文标签取代二进制指令编写程序,本质也是直接控制硬件 3. 高级语言 用人能理解的表达方式去编 ...
- python介绍,计算机核心基础,与运行程序有关的三大核心硬件,操作系统
python介绍,计算机核心基础,与运行程序有关的三大核心硬件,操作系统 引子 python是什么? 什么是编程语言?为何要有编程语言? 什么是编程?什么是程序?什么是进程?为何要编程? 计算机基础 ...
- Python Virtualenv运行Django环境配置
系统: RHEL6.5 版本说明: Python-3.5.0 Django-1.10.4 virtualenv:为每个项目建立不同的/独立的Python环境,你将为每个项目安装所有需要的软件包到它们各 ...
- 简明python教程 --C++程序员的视角(一):数值类型、字符串、运算符和控制流
最初的步骤 Python是大小写敏感的 任何在#符号右面的内容都是注释 >>> help('print')在“print”上使用引号,那样Python就可以理解我是希望获取关于“pr ...
随机推荐
- jquery.eraser制作擦涂效果
jquery.eraser制作擦涂效果 <pre><!DOCTYPE html><html> <head> <meta http-equiv=&q ...
- linux 安装swoole扩展方法
linux 安装swoole扩展方法 wget https://github.com/swoole/swoole-src/archive/v1.9.23.tar.gz接下去就不说了 说明下 下载swo ...
- 基于docker实现redis高可用集群
基于docker实现redis高可用集群 yls 2019-9-20 简介 基于docker和docker-compose 使用redis集群和sentinel集群,达到redis高可用,为缓存做铺垫 ...
- flink 流式处理中如何集成mybatis框架
flink 中自身虽然实现了大量的connectors,如下图所示,也实现了jdbc的connector,可以通过jdbc 去操作数据库,但是flink-jdbc包中对数据库的操作是以ROW来操作并且 ...
- 2019CSP游记
\(CSP2019\)游记 写在前面 考完,终于深刻地认识到省一似乎和我想象的真不是一个难度.也罢,不然为什么\(NOIP\)改了名还是这么有含金量. 考前一天和一群同学们嚷嚷着要去吃散伙饭,说没拿到 ...
- Java类/接口的API
本章节收集的类/接口API有: Object类,枚举,包装类,接口Comparable,类Arrays,异常, Object类 public String toString(): [把一个对象的信息用 ...
- 通过 position:fixed 实现底部导航
通过 position:fixed 实现底部导航 HTML <div id="footer">页脚</div> CSS #footer { clear: b ...
- nyoj 25-A Famous Music Composer(字符串)
25-A Famous Music Composer 内存限制:64MB 时间限制:1000ms Special Judge: No accepted:4 submit:9 题目描述: Mr. B i ...
- mysql初级了解
mysql是一个关系型数据库系统,可以存放若干个数据库,每个数据库中 可以存放若干张表,每张表中可以存放若干条记录 基本代码: 1.查看数据库 show databases: 2.创建数据库 ...
- bootstrap中图片响应式
主要解决的是在轮播图中图片响应式的问题 目的 各种终端都需要正常显示图片 移动端应该使用更小(体积)的图片 实现方式 给标签添加两个data-属性(如:data-img-sm="小图路径&q ...