[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 ...
随机推荐
- 关于Pycharm的注册码
最近安装pycharm,需要注册码,我在网上搜索了许多,这里一一记录下来,供大家参考: 在License server里面尝试输入下面任一地址: http://elporfirio.com:1017 ...
- PHP 将数据从 Laravel 传送到 vue 的四种方式
在过去的两三年里,我一直在研究同时使用 Vue 和 Laravel 的项目,在每个项目开发的开始阶段,我必须问自己 “我将如何将数据从 Laravel 传递到 Vue ?”.这适用于 Vue 前端组件 ...
- 利用SSH隧道技术穿越内网访问远程设备
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/11899478.html 通常,我们用于调试的计算机无法远程访问位于局域网中的待调试设备. ...
- 一分钟带你了解下MyBatis的动态SQL!
MyBatis的强大特性之一便是它的动态SQL,以前拼接的时候需要注意的空格.列表最后的逗号等,现在都可以不用手动处理了,MyBatis采用功能强大的基于OGNL的表达式来实现,下面主要介绍下. 一. ...
- python的文件操作及简单的用例
一.python的文件操作介绍 1.文件操作函数介绍 open() 打开一个文件 语法:open(file, mode='r', buffering=-1, encoding=None, errors ...
- objc反汇编分析__strong和__weak
如题所说反汇编看__strong和__weak的真实样子,代码列举自然多,篇幅长不利于阅读,我就先搬出结论,后面是分析. 在NON-ARC环境,__strong和__weak不起作用.相反在ARC环境 ...
- windows版的mysql主从复制环境搭建
背景 最近在学习用Spring Aop来实现数据库读写分离的功能. 在编写代码之前,首先是要部署好mysql的环境,因为要实现读写分离,所以至少需要部署两个mysql实例,一主一从,并且主从实例之间能 ...
- Spring项目中优雅的异常处理
前言 如今的Java Web项目多是以 MVC 模式构建的,通常我们都是将 Service 层的异常统一的抛出,包括自定义异常和一些意外出现的异常,以便进行事务回滚,而 Service 的调用者 Co ...
- 经典sql面试题(学生表_课程表_成绩表_教师表)
转载:https://www.cnblogs.com/qixuejia/p/3637735.html 表架构 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cna ...
- .net压缩文件
首先nuget安装DotNetZip 代码很少