[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 ...
随机推荐
- Linux基于webRTC的二次开发(二) 实现远程桌面共享
webRTC中的desktop_capture模块提供了捕获桌面和捕获窗口的相关功能,而实现远程桌面共享功能需要将desktop_capture捕获的画面作为peerconnection的视频源,下面 ...
- K8S入门系列之集群二进制部署-->node篇(三)
node节点组件 docker kubelet kube-proxy kubernetes-server-linux-amd64.tar.gz(相关的这里都能找到二进制文件!) falnnel 1. ...
- 前端与算法 leetcode 7. 整数反转
目录 # 前端与算法 leetcode 7. 整数反转 题目描述 概要 提示 解析 解法 算法 传入测试用例的运行结果 执行结果 GitHub仓库 # 前端与算法 leetcode 7. 整数反转 题 ...
- hdu 1171 Big Event in HDU (01背包, 母函数)
Big Event in HDU Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- Java虚拟机的内存
JDK1.8之前,java内存分为 线程共享区:堆.方法区.直接内存(非运行时数据区的一部分).线程私有区:程序计数器.虚拟机栈.本地方法栈. JDK1.8开始,虚拟机取消了方法区,改为元空间. 程序 ...
- Error: invalid "instanceof" keyword value Promise的解决方法
执行npm run dev 时,发现错误 Error: invalid "instanceof" keyword value Promise 经过一番查找,发现原因是webpack ...
- java快速复习 一 基础语法
最近看很多算法书,比较不错的有不少都是java语言描述,所以用一天时间快速研究并整理java ,参考资料:java入门经典 Call this file "Example2.java&qu ...
- Linux 命令记录
记录Linux下使用过的命令: Linux端 1.测试当前系统支持语言(我这用的是xshell,如果出现乱码,则在file-properties-terminal-encoding中,设置为utf-8 ...
- 提高PHP性能效率的几个技巧!
如何提高效率问题,往往同样的功能,不一样的代码,出来的效率往往大不一样. ● 用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有ec ...
- PL真有意思(五):数据类型
前言 现在大多数程序设计语言中都有表达式和/或对象的类型概念.类型起着两种主要作用: 为许多操作提供了隐含的上下文信息,使程序员可以在许多情况下不必显示的描述这种上下文.比如int类型的两个对象相加就 ...