无法在Ubuntu上为pypy安装pip

时间:2016-01-02 13:57:59

标签: python ubuntu pip pypy linode

我无法在Ubuntu 15.10上为pypy 4.0.1安装pip。

我从http://pypy.org/download.html下载了pypy 4.0.1。为它创建了一个符号链接。并使用wget从https://bootstrap.pypa.io/get-pip.py下载get-pip.py。

但是当我跑sudo pypy get-pip.py时,我得到了例外:

Collecting pip
Exception:
Traceback (most recent call last):
    File "/tmp/tmps2kjCI/pip.zip/pip/basecommand.py", line 211, in main
      status = self.run(options, args)
    File "/tmp/tmps2kjCI/pip.zip/pip/commands/install.py", line 294, in run
      requirement_set.prepare_files(finder)
    File "/tmp/tmps2kjCI/pip.zip/pip/req/req_set.py", line 334, in prepare_files
      functools.partial(self._prepare_file, finder))
    File "/tmp/tmps2kjCI/pip.zip/pip/req/req_set.py", line 321, in _walk_req_to_install
      more_reqs = handler(req_to_install)
    File "/opt/pypy-4.0.1-linux64/lib_pypy/_functools.py", line 42, in __call__
      return self._func(*(self._args + fargs), **fkeywords)
    File "/tmp/tmps2kjCI/pip.zip/pip/req/req_set.py", line 491, in _prepare_file
      session=self.session)
    File "/tmp/tmps2kjCI/pip.zip/pip/download.py", line 825, in unpack_url
      session,
    File "/tmp/tmps2kjCI/pip.zip/pip/download.py", line 673, in unpack_http_url
      from_path, content_type = _download_http_url(link, session, temp_dir)
    File "/tmp/tmps2kjCI/pip.zip/pip/download.py", line 885, in _download_http_url
      with open(file_path, 'wb') as content_file:
    TypeError: expected string, got NoneType object

我可以毫无问题地运行sudo python get-pip.py但是pypy失败了。我也尝试过Ubuntu 12.04和14.04,但没有运气。

我安装了Python 2.7.10,并且我使用了Linode机器。但改为DigitalOcean并没有帮助。

2 个答案:

答案 0 :(得分:1)

如何从Ubuntu档案sudo apt install pypy安装PyPy。或者,如果您想要最新版本,请来自PyPy PPA

然后,如果你创建了一个virtualenv,它将在其中包含pip:

$ sudo apt-get install virtualenv
$ virtualenv -p pypy ve
$ . ve/bin/activate
$ pip install ...

答案 1 :(得分:0)

我有同样的问题,解决方案很简单,你必须运行这个命令:

export LC_ALL=C.UTF-8

然后运行pip安装。

您应该将此行添加到服务器中的.bashrc或.bash_profile,即使您可以将其添加到/ etc / environment以使其以全局方式使用。 (如果有人有更好的解决方案,请告诉我)

编辑(2016-10):

以上是任何其他发行版的全局和懒惰解决方案。 如果你在ubuntu中,你需要重新配置语言环境,你可以使用:

sudo locale-gen "en_US.UTF-8"
sudo dpkg-reconfigure locales