Linux下大部分系统默认自带python2.x的版本,最常见的是python2.6或python2.7版本,默认的python被系统很多程序所依赖,

比如centos下的yum就是python2写的,所以默认版本不要轻易删除,否则会有一些问题。

如果需要使用最新的Python3那么我们可以编译安装源码包到独立目录,这和系统默认环境之间是没有任何影响的,python3和python2两个环境并存即可。

Python通常安装在目标机器的路径:/usr/local/bin/python3.3 中。

将路径/usr/local/bin/包含到Unix Shell的搜索路径中,以确保可以通过输入python3.3的命令来启动它。

python的安装路径是可选的,也可以选择其他路径。路径/usr/local/bin/是一个常见的选择。

对于Windows机器而言,Python通常安装在C:\Python33中,然后通过把目录添加到PATH环境变量中。

这样在DOS中输入python就可以进入python交互模式了。

Anaconda

对于 Python 学习的新手来说,安装 Anaconda 包管理软件是一个不错的选择,可以减少很多后续安装 Python 各种包的麻烦。在
Anaconda 自带的 notebook 进行代码的编写要比 IDE 和 Terminal 的体验好得多。

====================================================

python解释器及工作原理

我们编写代码时会得到一个.py结尾的文件,要想运行执行此文件就需要python解释器。

python解释器的构成及其各部分功能
解释器由一个编译器和一个虚拟机构成,编译器负责将源代码转换成字节码文件,而虚拟机负责执行字节码。
所以,解释型语言其实也有编译过程,只不过这个编译过程并不是直接生成目标代码,而是中间代码(字节码),然后再通过虚拟机来逐行解释执行字节码

个人理解执行过程原理:
执行 python XX.py 后,将会启动 Python 的解释器,python解释器的编译器会将.py源文件编译(解释)成字节码生成PyCodeObject字节码对象存放在内存中。python解释器的虚拟机将执行内存中的字节码对象转化为机器语言,虚拟机与操作系统交互,使机器语言在机器硬件上运行。

运行结束后python解释器则将PyCodeObject写回到pyc文件中。

当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,

如果找到,则直接载入,否则就重复上面的过程。

所以我们应该这样来定位PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一种持久化保存方式。

pyc文件,文件中包含python的magic number(来说明编译时使用的python版本号)、源文件的mtime(使pyc和py文件保持同步)、编译出的code对象

====================================================

参考链接:

Python - 环境安装、解释器介绍、PyCharm安装、numpy/pandas/Matplotlib模块安装:https://blog.csdn.net/weixin_42526141/article/details/84141157

最新文章

  1. 篇三:访问JSON静态文件
  2. 使用Web.Config Transformation配置灵活的配置文件
  3. C++之路进阶——bzoj3876(支线剧情)
  4. 07-Java 中的IO操作
  5. DP总结 ——QPH
  6. Fixflow引擎解析(五)(内核) - 基于Token驱动的引擎内核运转原理
  7. 解决自定义BackItem与Pop Gesture冲突的问题
  8. 【HDOJ】1394 Minimum Inversion Number
  9. 基于visual Studio2013解决C语言竞赛题之1027 YN
  10. /proc/kcore失效,调试其文件系统相关模块,使重新正常工作
  11. Ubuntu下OpenCV不能被某个python版本识别
  12. Hibernate从零开始的反向工程
  13. centos7配置Apache支持HTTPS
  14. C语言实现十六进制字符串转数字
  15. 一张脑图说清 Nginx 的主流程
  16. P1156 垃圾陷阱 DP
  17. Python基础+模块、异常
  18. window、location、location.href、self、top简单介绍
  19. asp.net mvc接收安卓post的json字符串
  20. string转换成char*

热门文章

  1. 2018-2-13-win10-uwp-获取按钮鼠标左键按下
  2. sql函数的使用——转换函数
  3. TreeSet的运用之使用内部比较器实现自定义有序(重要)
  4. 说说iOS与内存管理(上)
  5. QT自定义窗口
  6. TCP/IP网络编程 读书笔记1
  7. [***]HZOI20190714 T2熟练剖分
  8. mysql统计信息相关
  9. Android Studio(十):添加assets目录
  10. 使用FormData格式上传图像并预览图片