程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何通过SSH端口转发安装Python软件包?

发布于2019-10-31 08:49     阅读(1515)     评论(0)     点赞(9)     收藏(5)


我正在通过SSH和OPENVPN控制远程单元。

在远程单元上,我想使用pip安装一些Python软件包

  • 远程公司防火墙仅允许端口22上的流量(不允许443上的流量pip);
  • DNS没有安装在远程单元上;
  • 我无法修改任何OPENVPN设置(或者我想避免使用此选项,因为这意味着访问一些远程sysadmin并试图说服他必须更改配置);
  • 所有系统都是Linux(Ubuntu + Debian)。不涉及Windows。

减少尝试时间(我不是系统管理员,我对此主题的了解非常有限),其想法是打开一个显而易见的SSH端口转发:

ssh -R 9999:pypi.python.org:443 xxxx@XX.XX.XX.XX

然后,在远程单元上播放pip install

pip install pymodbus==1.3.2 --proxy localhost:9999

但是此命令返回:

Cannot fetch index base URL https://pypi.python.org/simple/
Could not find any downloads that satisfy the requirement pymodbus==1.3.2

/root/.pip/pip.log 是:

  Getting page https://pypi.python.org/simple/pymodbus/
  Could not fetch URL https://pypi.python.org/simple/pymodbus/: connection error: ('Connection aborted.', BadStatusLine("''",))
  Will skip URL https://pypi.python.org/simple/pymodbus/ when looking for download links for pymodbus==1.3.2
  Getting page https://pypi.python.org/simple/
  Could not fetch URL https://pypi.python.org/simple/: connection error: ('Connection aborted.', BadStatusLine("''",))
  Will skip URL https://pypi.python.org/simple/ when looking for download links for pymodbus==1.3.2
  Cannot fetch index base URL https://pypi.python.org/simple/
  URLs to search for versions for pymodbus==1.3.2:
  * https://pypi.python.org/simple/pymodbus/1.3.2
  * https://pypi.python.org/simple/pymodbus/
  Getting page https://pypi.python.org/simple/pymodbus/1.3.2
  Could not fetch URL https://pypi.python.org/simple/pymodbus/1.3.2: connection error: ('Connection aborted.', BadStatusLine("''",))
  Will skip URL https://pypi.python.org/simple/pymodbus/1.3.2 when looking for download links for pymodbus==1.3.2
  Getting page https://pypi.python.org/simple/pymodbus/

很明显,由于拒绝连接,远程单元无法读取pypi.pthon.org上的索引页。

我想要达到正确语法是什么?


解决方案


代理将非常棘手。我建议您scp pip模块源文件并从源文件本地安装。使用
pip install package –download =“ / pth / to / downloaded / file”来获取软件包,将其scp到目标服务器,然后使用pip install“ / pth / to / scp / file”



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/147948/7ed0279f6ea486fecb1f/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

9 0
收藏该文
已收藏

评论内容:(最多支持255个字符)