当我从脚本中运行模块BeautifulSoup或直接在python中运行它时,我可以导入模块或请求,而不会出现任何问题:
Python 2.7.9 (default, Mar 8 2015, 00:52:26)
[GCC 4.9.2] on linux2
Type "copyright", "credits" or "license()" for more information.
>>> import bs4
>>> bs4
<module 'bs4' from '/usr/local/lib/python2.7/dist-packages/bs4/__init__.pyc'>
>>> import requests
>>> requests
<module 'requests' from '/usr/lib/python2.7/dist-packages/requests/__init__.pyc'>但是,当我使用python解释器从命令提示符执行此操作时,会遇到以下错误:
pi@raspberrypi:~/Desktop/A/C $ python
Python 2.7.9 (default, Mar 8 2015, 00:52:26)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import bs4
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/bs4/__init__.py", line 30, in <module>
from .builder import builder_registry, ParserRejectedMarkup
File "/usr/local/lib/python2.7/dist-packages/bs4/builder/__init__.py", line 4, in <module>
from bs4.element import (
File "/usr/local/lib/python2.7/dist-packages/bs4/element.py", line 3, in <module>
from pdb import set_trace
File "/usr/lib/python2.7/pdb.py", line 9, in <module>
import cmd
File "/usr/lib/python2.7/cmd.py", line 53, in <module>
IDENTCHARS = string.ascii_letters + string.digits + '_'
AttributeError: 'module' object has no attribute 'ascii_letters'
>>> import requests
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/requests/__init__.py", line 55, in <module>
import urllib3
File "/usr/lib/python2.7/dist-packages/urllib3/__init__.py", line 10, in <module>
from .connectionpool import (
File "/usr/lib/python2.7/dist-packages/urllib3/connectionpool.py", line 29, in <module>
from .packages.ssl_match_hostname import CertificateError
File "/usr/lib/python2.7/dist-packages/urllib3/packages/__init__.py", line 5, in <module>
from ssl import CertificateError
File "/usr/lib/python2.7/ssl.py", line 90, in <module>
import textwrap
File "/usr/lib/python2.7/textwrap.py", line 40, in <module>
class TextWrapper:
File "/usr/lib/python2.7/textwrap.py", line 82, in TextWrapper
whitespace_trans = string.maketrans(_whitespace, ' ' * len(_whitespace))
AttributeError: 'module' object has no attribute 'maketrans'我读了很多论坛,但没有真正理解是什么导致了这一切,最重要的是,如何解决这个问题。
非常感谢你的帮助,贝斯特,马蒂厄
发布于 2016-06-29 14:25:32
它并不是控制台上的真正空闲的Python,而是进程的当前工作目录所在的位置。因为在wich目录中,您启动了控制台Python,因此有一个string.py,它从标准库中“阴影”string模块。从该文件夹中删除该string.py (如果存在string.pyc ),其他模块将再次找到标准的string模块。
https://stackoverflow.com/questions/37460610
复制相似问题