Win10环境下python36安装BeautifulSoup出现错误的解决办法

说明:win10 64位系统,Python3.6.3

Win10环境下安装BeautifulSoup4貌似没有任何问题,但是当使用时就会报错,错误如下:

通过报错信息到相应的位置去查看文件

try: is_file = os.path.exists(possible_filename) except Exception, e: #line175 # This is almost certainly a problem involving # characters not valid in filenames on this # system. Just let it go. pass

经过查找分析,此处是下载的模块是用python版本2编写的,它与我在计算机上安装的python版本具有不兼容的语法(版本3)。

解决办法,到这个地址下载最新的库安装包:

https://www.crummy.com/software/BeautifulSoup/bs4/download/4.6/

下载解压后,进入到相应的目录,在命令行下运行python3 setup.py文件

个人下载到Python36的scripts之下了C:\XXX\ Local\Programs\Python\Python36\Scripts

运行以上程序即可完成安装,可以检验一下:

>>> from bs4 import BeautifulSoup4 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "c:\XXX\Programs\Python\Python36\Scripts\beautifulsoup4-4.6.3\bs4\__init__.py", line 54 'You are trying to run the Python 2 version of Beautiful Soup under Python 3. This will not work.'<>'You need to convert the code, either by installing it (`python setup.py install`) or by running 2to3 (`2to3 -w bs4`).' ^ SyntaxError: invalid syntax

您正在尝试在python3下运行Python 2版本的Beautiful Soup。这是行不通的。你需要通过安装它来转换代码!

这还是报错啊,看来还得想办法咯。

解决办法:直接将压缩文件中的bs4复制到python安装目录下的lib中,然后再利用python自带工具2to3.py将版本2下的.py 文件转化为版本3下的文件。

提示:2to3.py位置:在python安装目录下的Tools/scripts/2to3.py。

最后,将bs4文件夹和2to3.py同时放到lib中,然后在cmd中定位到lib,运行:

2to3.py bs4 –w

2to3.py 用法:2to3.py param1 (-w) param1 可以是要转换的.py文件,或者是文件夹,如果是文件夹,整个文件夹中的.py都会被转换。 -w可选,如果不写的话默认输出转换后的结果到显示屏,如果要把转换的文件再写入原文件,就需要加上。

但是,运行后好像没有什么变化啊,先进入python3试试吧,结果输入命令:

from bs4 import BeautifulSoup

让人大吃一惊,怎么还报错,明明已经运行了,怎么还会报错,网上各种博客都是这样的说法,没有其他的解法,无语中,在继续寻找解决办法吧。

终于,在一博客上找到了,具体细节可参考https://blog.csdn.net/Ltime/article/details/70307900

退出Python后,直接运行2to3 -w bs4

2to3 -w bs4

到最后输出如下的信息,则表示转换完成。输入Python3进入后,再次输入from bs4 import BeautifulSoup

没有报错,即表示安装成功!

>>> from bs4 import BeautifulSoup

>>>

如果上述安装方法都行不通,Beautiful Soup的发布协议允许你将BS4的代码打包在你的项目中,这样无须安装即可使用。到此就算完成了。

原文发布于微信公众号 - JiekeXu之路(JiekuXu_IT)

原文发表时间:2018-09-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券