首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pythonbrew不安装python,命令行上没有输出。

pythonbrew不安装python,命令行上没有输出。
EN

Stack Overflow用户
提问于 2013-09-23 21:37:09
回答 2查看 183关注 0票数 0

我对python,pythonbrew和ubuntu都很陌生。我需要python2.6,目前在我的ubuntu精确系统上有2.7。在线搜索显示,我不应该尝试卸载2.7,因为那样会破坏操作系统,而是使用pythonbrew来管理多个python安装。

我试着安装pythonbrew,但是curl (curl -kL https://raw.githubusercontent.com/utahta/pythonbrew/master/pythonbrew-install | bash)对我来说不起作用:它没有从env获取我的http代理,然后在命令行中提供它之后,没有将它传递给安装脚本。我手动下载了pythonbrew,然后使用python安装来安装它。我把它作为root来完成,它似乎可以工作(安装在/root/..pythonbrew下,这不是最好的),但是我不能将它作为系统上的另一个用户使用(权限问题)。经过更多的阅读,我以root用户的身份正确地执行了脚本,并将pythonbrew安装到/usr/local/pythonbrew (yay)。

现在,当我以根用户或非root用户的身份执行以下操作时,它会等待一段时间,然后提示返回时不会出现错误或任何其他信息(--详细说明没有任何区别):

代码语言:javascript
复制
root@xxx:~/.pythonbrew/scripts/pythonbrew# pythonbrew install 2.6
root@xxx:~/.pythonbrew/scripts/pythonbrew#

有什么想法吗?我猜想这又与代理有关,但我对python完全陌生,所以欢迎任何指针。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-23 21:46:16

按照“哪个pythonbrew”并进行一些猜测,解决了我的问题:我将/usr/local/pythonbrew/ curl.py /pythonbrew代理设置下的文件更改为读取、读取头和获取函数,如下所示:

修改前:

代码语言:javascript
复制
 p = Popen('curl -skL "%s"' % url, stdout=PIPE, shell=True)

修改后:

代码语言:javascript
复制
 p = Popen('curl -x http://<proxy host>:<proxy port> -skL "%s"' % url, stdout=PIPE, shell=True)

我不知道为什么在没有代理设置的情况下没有输出,但是现在安装工作了!

票数 0
EN

Stack Overflow用户

发布于 2019-09-04 18:10:30

今天,我在用pythonbrew安装py2.7.14时也遇到了这个问题。

它静默地失败安装的原因是当它从python服务器(src为py2.7.14)获得头部时,它检查返回状态是否成功。它实现了HTTP/1.1方法检查(仅在成功返回状态为200 OK的情况下)。

但是,python使用HTTP/2,成功返回的代码是200格式的,没有尾随的OK

因此,为了解决这个问题,我在/opt/.pythonbrew/scripts/pythonbrew/curl.py中的2行代码下面添加了2行代码,即例程readheader()

代码语言:javascript
复制
if re.match('^HTTP.*? 200 OK$', line):
    break

在上述代码下面添加了此代码:

代码语言:javascript
复制
elif re.match('^HTTP.*? 200$', line):
    break

我不想更改pythonbrew的代码,因此添加了一个elif

这个很管用。

我注意到,其他几个使用pyenv的人也提到了类似的问题,我认为可能存在类似的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18969343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档