初学python,想要运行python项目源码进行学习的,常常遇到许多莫名其妙的问题。具体的问题,百度上也许能搜索到一些解决方案,但有的表达不清,有的未必有效。有时候与其搜索具体报错的答案,不如从与源码的环境保持一致开始。
本文试图对运行一个外来的python程序源码(比如来自Github)作出步骤性的总结,希望对新手有所帮助。
在阅读本文之前,你需要知道:
(1)什么是python?
(2)知道如何安装,或已经安装、配置好了python。
(3)知道并会使用pip安装python包。
(4)有一个python IDE,并至少可以运行“Hellow World”程序,这样代表你的python与IDE环境没有问题。
(5)在满足以上几点以后,如果你试图运行一个别人的python程序源码,推荐按照如下步骤去做。
1、明确python版本
python版本很多,有些版本之间并不兼容。对于拿到的python项目源码,最好弄清楚作者用的python版本是什么,与其保持一致。
python版本通常在readme文件或者源码文件中有注明。下面给出一个在源码文件中注明python版本的示例:
2、同时使用不同的python版本
如果python版本与作者不同,不用重新安装,推荐使用Anaconda工具同时使用不同的python版本,非常方便。
Anaconda是一个python包与环境的管理软件,允许存在多个不同版本的python,并可以在不同版本中自由切换。
3、python包
python程序往往要使用各种python包,包里包含程序需要调用的函数、工具等。没有这些包,是无法运行的,所以需要知道程序使用了哪些包,并且安装好。
有的项目会告知必要的包,比如可能包含一个requirements文件,告知依赖的包及其版本,如下示例:
如果找不到相关文件,在执行代码时会报错,请留意报错信息,提示缺少了什么包就安装上。
4、安装相同的python包
这里有必要再强调一下,安装的python包请尽量与程序编写时所用的python包的版本保持一致。如上面的示例,requirements.txt文件中不仅告知了必要的python包,而且注明了版本,那么安装上相同版本的python包。
有时候会发现即便已经安装了所需要的python包,但还是会报各种奇奇怪怪的错,与其针对这些具体的报错去百度搜索答案,不如试试安装上程序编写时所用的python包的版本。
比如TensorFlow包,版本非常多,如果使用版本不同,常常会出问题。如下面的示例,程序需要使用TensorFlow包,而我已经安装上,但还是报了错。针对报错本身“Failed to load the native TensorFlow runtime.”,网上有很多解答,但最终发现,换上相同版本的TensorFlow后,问题迎刃而解。
5、python包的安装
python包推荐使用pip命令安装,这同样是一个容易出问题的地方,将在另一篇博客中总结,目前还没写。
2020.03.18