Windows下python3的版本安装了python2版本的BeautifulSoup4模块,显示'You are trying to run the Python 2 version of Beautiful Soup under Python 3.(`python setup.py install`) or by running 2to3 (`2to3 -w bs4`).'

转载自:http://www.cnblogs.com/Dragon5/p/6498422.html

 

这个的主要问题在于:python3的版本安装了python2版本的BeautifulSoup4模块。

解决方法:用python3自带的工具可以直接转换BeautifulSoup4模块为python3的版本。

 

具体情况:

按照网上教程,将cmd的目录定位到解压缩文件夹地址,然后 >>python setup.py install

(

Window下不能直接解压tar.giz文件,可以使用7z解压软件提取解压再在CMD下打开

)

但是在IDLE中import bs4时,会出现:

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    import bs4
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python35-32\lib\bs4\__init__.py", line 48
    '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`).'

在网上找了很久,始终没解决。

然后我又试了一下>>easy_setup.py,import bs4时报的错误却是:no such module.

 

  •  解决前的python3的BeautifulSoup文件的情况:

BeautifulSoup(python2版本)的解压之后的文件夹已经放在python34文件夹的目录下,

开始-运行-cmd之后,控制台输入python setup.py install,      BeautifulSoup(python2版本)安装成功。

在调用时,先输入python进入python编辑,再from bs4 import BeautifulSoup就出现'You are trying to run the Python 2 version of Beautiful Soup under Python 3.(`python setup.py install`) or by running 2to3 (`2to3 -w bs4`).'    <意思是你尝试运行python2版本的BeautifulSoup,在python3的环境下>

 

解决办法

 

  1. 直接将压缩文件中的bs4的那个文件夹整体 复制 到python安装目录下的lib文件夹中,
  2. 将2to3.py这个文件也复制一份放到lib文件夹中,运行:
  3. 然后在cmd中定位到lib,(开始-运行-cmd,控制台输入cd C:\python34\lib)在这里可以直接复制lib文件夹的位置,然后右键复制到控制台里面,回车。
  4. 最后运行:  python 2to3.py bs4 -w就好了。此时屏幕会滚动起来很多代码,结束之后就成功了。

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

  2to3.py 用法:2to3.py param1 (-w)

        param1 可以是要转换的.py文件,或者是文件夹,如果是文件夹,整个文件夹中的.py都会被转换。

        -w可选,如果不写的话默认输出转换后的结果到显示屏,如果要把转换的文件再写入原文件,就需要加上。这里我想是需要写上的,因为以后还要使用。

 

现在,就可以先python进入python编辑,然后from bs4 import BeautifulSoup或者import bs4,不出现任何其他报错,就意味着成功转换了BeautifulSoup的版本。

 

 
posted @ 2017-12-17 09:37  ___JoyceLiu  阅读(220)  评论(0编辑  收藏  举报