Python初学者常犯错误及解决方法自查

2021年09月15日 阅读数:2
这篇文章主要向大家介绍Python初学者常犯错误及解决方法自查,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

菜鸟学Python 2020-07-05html

如下文章来源于未闻Code ,做者kingnamepython

Python初学者常犯错误及解决方法自查_Python未闻Codeshell

博主喜欢Python和爬虫,已经出了两本书。这里是他灵感的发源地。关注这个公众号,你的生产效率在三天内就会获得提升。P.S.: 这个公众号日更。微信

Python初学者常犯错误及解决方法自查_Python_02



01.何时用python xxx.py何时用python3 xxx.py

若是你的电脑里面只安装了Python 2或者只安装了Python 3,总之只有一个Python,那么,不管你是哪一个系统,你老是可使用 python xxx.py的形式经过对应的Python解释器运代码。app

若是你的电脑是macOS或者Linux,那么只要你的电脑有Python 3,不管有没有Python 2,你始终均可以使用 python3 xxx.py经过Python 3来运行代码。此时,若是有Python 2,那么执行 python xxx.py时,是经过Python 2来运行代码。scrapy

若是你的电脑是Windows,先安装了一个版本的Python,而后又安装了另外一个版本的Python,那么我建议你这样作:进入Python 3的安装文件夹,把里面的 python.exe更名为 python3.exe。这样一来,你老是能够经过执行命令 python3 xxx.py用Python 3运行代码;执行命令 python xxx.py用Python 2执行代码。ide

02.个人电脑既有Python 2又有Python 3,那我使用pip安装的第三方库安装到了哪里?

这个取决于当你执行 pip的时候,哪一个版本的Python里面的 pip先被找到。系统是根据环境变量里面的路径,挨着去找的,先找到了一个,那么就马上使用。再也不找后面的。flex

若是你搞不清楚到底哪一个版本的pip先被找到,那么请使用下面这个万能方法:优化

假设你已经设置,使得执行 python的时候启动的是Python 2环境,执行 python3的时候,启动的是Python 3环境,那么:ui

  • 经过执行 python-m pip install xxx把第三方库安装到Python 2的环境里面。

  • 经过执行 python3-m pip install xxx把第三方库安装到Python 3的环境里面。

03.什么是命令行,什么是Python交互环境

在Windows里面你直接打开CMD、Powershell或者在macOS、Linux上打开终端,你看到的黑色窗口叫作命令行,这里执行的是命令。CMD的命令行通常是以文件路径加一个右箭头开头,例如:

C:\xxx\xxx>

macOS、Linux的命令行通常是以 $符号开头。

当你在终端里面,输入python3并回车的时候,打开的是 Python交互环境,在这个环境里面是以三个右箭头开头的:

>>>

Python交互环境里面执行的是Python代码,而不是shell命令。

你须要搞清楚,你是要执行shell命令、CMD命令仍是执行Python代码。执行shell命令,就在终端里面,执行CMD命令,就在CMD里面。执行Python代码,就在Python交互环境里面。

下面这幅图,就是犯了这样的错误:

Python初学者常犯错误及解决方法自查_Python_03

命令 python-m scrapy startproject baidu应该在CMD里面执行,而不该该在Python交互环境里面执行。

Python交互环境运行代码,与把代码写成xxx.py后运行效果彻底同样吗?

并非彻底同样,这里举一个例子:

>>> a = 1000>>> b = 1000>>> a is b

在Python交互环境里面,返回 False,以下图所示:

但若是写成xxx.py并运行,返回的结果为 True,以下图所示:

这里的原理涉及到Python解释器对代码的优化,就不是初学者须要了解的了,放下不讲。感兴趣的朋友能够关注个人微信公众号。

但绝大多数的代码,在交互环境和经过xxx.py运行,效果是同样的。

04.已经安装了第三方模块,在PyCharm里面依然提示没有安装?

这种状况多发于咱们直接从PyCharm中建立项目时的状况。咱们打开PyCharm,选择 CreateNewProject,填写项目路径建立项目,以下图所示

项目建立完成之后,咱们建立一个main.py文件,内容以下:

 
 
  1. import requests


  2. resp = requests.get('http://exercise.kingname.info/exercise_requests_get.html').text


  3. print(resp)

以下图所示:

此时, requests会被画上波浪线。这是正常状况,由于此时咱们并无安装这个第三方库,因此PyCharm一定找不到requests。

好了,那么咱们来安装requests:

如今回到PyCharm里面,你会发现,为何requests下面还有红色波浪线?能够这个第三方库明明安装成功了啊!

此时,若是你在PyCharm里面运行这个main.py文件,会看到PyCharm报错,以下图所示。

Python初学者常犯错误及解决方法自查_Python_04

可是,若是你在终端里面运行,却发现代码毫无问题,以下图所示:

Python初学者常犯错误及解决方法自查_Python_05

那么,PyCharm又闹什么幺蛾子了吗?

实际上这是功能不是bug。当咱们在新版的PyCharm里面建立工程的时候,PyCharm会自动为这个工程建立一个虚拟环境,以下图所示。

Python初学者常犯错误及解决方法自查_Python_06

在PyCharm中,咱们也能够看到PyCharm是使用虚拟环境的Python来运行main.py的,以下图所示:

Python初学者常犯错误及解决方法自查_Python_07

这个虚拟环境和系统的Python环境是隔离开的。当咱们直接在终端里面安装第三方库的时候,安装到的是系统的Python环境,而PyCharm自动建立的虚拟环境的Python里面并无安装requests,因此会出现找不到的问题。

这个问题要解决实际上也很是简单。打开PyCharm最下面的 Terminal选项卡,并在这里弹出的终端里面安装requests,以下图所示

Python初学者常犯错误及解决方法自查_Python_08

安装完成之后,再使用PyCharm运行main.py,发现一切都正常了。以下图所示。

Python初学者常犯错误及解决方法自查_Python_09

最后,但愿你不要抱怨PyCharm自动为你建立虚拟环境这个事情。在Python开发中,原本就应该这样作,不一样的项目使用不一样的虚拟环境,使得全部依赖互相隔离,这才是Python项目管理的正确方式。