尝试使用pip3.4在CentOS 5.11服务器中安装python模块(beautifulsoup)时出错

时间:2016-03-15 15:02:01

标签: python linux python-3.x centos

我编写了一个python3.4脚本来从RSS源中获取一些数据,这些数据正常工作。我想用我的VPS(CentOS 5.11)创建一个cronjob来执行脚本。服务器安装了常规python和python3.4没有问题(我可以运行python3.4脚本没有问题)。问题是我需要为python3.4安装Beautiful Soup才能使我的脚本正常工作,但是当我尝试安装它时,我收到来自服务器的错误: 我使用pip3.4 install beautifulsoup来安装模块。

Exception:
  Traceback (most recent call last):
    File "/usr/local/lib/python3.4/site-packages/pip/basecommand.py", line 232, in main
      status = self.run(options, args)
    File "/usr/local/lib/python3.4/site-packages/pip/commands/install.py", line 339, in run
      requirement_set.prepare_files(finder)
    File "/usr/local/lib/python3.4/site-packages/pip/req/req_set.py", line 333, in prepare_files
      upgrade=self.upgrade,
    File "/usr/local/lib/python3.4/site-packages/pip/index.py", line 305, in find_requirement
      page = self._get_page(main_index_url, req)
    File "/usr/local/lib/python3.4/site-packages/pip/index.py", line 783, in _get_page
      return HTMLPage.get_page(link, req, session=self.session)
    File "/usr/local/lib/python3.4/site-packages/pip/index.py", line 872, in get_page
      "Cache-Control": "max-age=600",
    File "/usr/local/lib/python3.4/site-packages/pip/_vendor/requests/sessions.py", line 473, in get
      return self.request('GET', url, **kwargs)
    File "/usr/local/lib/python3.4/site-packages/pip/download.py", line 365, in request
      return super(PipSession, self).request(method, url, *args, **kwargs)
    File "/usr/local/lib/python3.4/site-packages/pip/_vendor/requests/sessions.py", line 461, in request
      resp = self.send(prep, **send_kwargs)
    File "/usr/local/lib/python3.4/site-packages/pip/_vendor/requests/sessions.py", line 573, in send
      r = adapter.send(request, **kwargs)
    File "/usr/local/lib/python3.4/site-packages/pip/_vendor/cachecontrol/adapter.py", line 43, in send
      resp = super(CacheControlAdapter, self).send(request, **kw)
    File "/usr/local/lib/python3.4/site-packages/pip/_vendor/requests/adapters.py", line 370, in send
      timeout=timeout
    File "/usr/local/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/connectionpool.py", line 518, in urlopen
      body=body, headers=headers)
    File "/usr/local/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/connectionpool.py", line 322, in _make_request
      self._validate_conn(conn)
    File "/usr/local/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/connectionpool.py", line 727, in _validate_conn
      conn.connect()
    File "/usr/local/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/connection.py", line 238, in connect
      ssl_version=resolved_ssl_version)
    File "/usr/local/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py", line 254, in ssl_wrap_socket
      return context.wrap_socket(sock)
    File "/usr/local/lib/python3.4/ssl.py", line 365, in wrap_socket
      _context=self)
    File "/usr/local/lib/python3.4/ssl.py", line 542, in __init__
      raise ValueError("check_hostname requires server_hostname")
  ValueError: check_hostname requires server_hostname

我读到了虚拟python环境,但我不知道这是否会以我想要的方式工作。 我有权访问服务器,我是通过SSH进行的。

任何帮助将不胜感激。

如果我使用pip3.4 --trusted-host pypi.python.org install <package_name>我可以升级pip3.4并安装urllib3,但是当我尝试安装Beautiful Soup时,我收到此错误:

Collecting beautifulsoup
/usr/local/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:315: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#snimissingwarning.
  SNIMissingWarning
  Downloading BeautifulSoup-3.2.1.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-zgrqhr3v/beautifulsoup/setup.py", line 22
        print "Unit tests have failed!"
                                      ^
    SyntaxError: Missing parentheses in call to 'print'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-zgrqhr3v/beautifulsoup/

1 个答案:

答案 0 :(得分:1)

您正在安装仅支持python 2的beautifulsoup版本3.您需要安装支持python 3的beautifulsoup版本4.

待办事项

pip3.4 install beautifulsoup4