Pycharm、远程调试、使用不同版本 Docker Official Image 的容器,等等交叉一起使用的问题。。。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
qazwsxkevin

Pycharm、远程调试、使用不同版本 Docker Official Image 的容器,等等交叉一起使用的问题。。。

  •  
  •   qazwsxkevin 2023 年 10 月 1 日 1739 次点击
    这是一个创建于 936 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一、先说目的:
    1.1 、有一桶好多年前几个师兄在 Python 3.6 时代写的东西,打算在业余时间按主体逻辑,改进多线程方式,并用一些新特性和装饰器参与,简化重写,至少在 3.11 能用
    1.2 、代码全在远程服务器上调试、跑,远程服务器上要有 3.6 和 3.11 环境(共存、同时用,无需单工切换,环境平行不交错)

    二、目前情况:
    2.1 、有远程服务器(Debian11)一台,有 root 权
    2.2 、一开始,我的想法是根据 docker hub 上 debian 的官方 image ,创建 A 、B 两个容器,配置 bash shell ,sshd ,各自挂不同的 ssh port ,弄好 Dockfile 封装好,再各自装不同版本的 python ,反正相等于弄两台有 sftp+shell 的虚拟机出来搞
    2.3 、以上想法如果突然要用 3.8 跑,那就又得耗时间搞多一份“虚拟机”了。。。,如果委员会明天就批准出了 Python4.0 (玩笑假设)。。。。。。
    2.4 、才重新留意到 Python 是有 Docker Official Image 的,可以随意选择版本 pull ,并且创建容器。

    三、疑惑的问题:
    3.1 、如果使用 Python DockerOfficial Image(以下简称 PDOI )创建容器( PDOIC ),略微看了一下,PDOIC 没有 bash ,vi,sshd 这些基本,这种 PDOI 的存在,是让用户在 PDOIC 里的不同版本 python 调用 PDOIC 外部、本地的*.py 运行而已,是这样使用的吗? 理解有无错误?
    3.2 、如果 3.1 没有理解错误,那么这个环境所依赖的第三方库,也是将会安装 PDOIC 里? 如何安装?
    3.3 、问题来了,Pycharm 在添加 Interpreter 的时候,不同 PDOIC 的内的 python ,是 On Docker ,还是 On SSH,是 On Docker 里面的 On SSH(这个似乎还得暴露出 API ?)
    Pycharm 怎么用起远程服务器上,多个不同版本哦的 PDOIC ?
    3.4 、用 2.2 的办法,还是 3.3 不同 PDOIC 调用? 哪个方法好?

    假期下午先出去玩了,不明白的问题,可能晚一些再回复,点赞币晚一些完成,谢谢大家解答!

    5 条回复    2023-10-09 00:22:18 +08:00
    Akkuman
        1
    Akkuman  
       2023 年 10 月 1 日 via Android
    devcontainer
    zhangzEric
        2
    zhangzEric  
       2023 年 10 月 1 日 via iPhone
    vscode remote container 了解一下
    retanoj
        3
    retanoj  
       2023 年 10 月 3 日 via iPhone
    抛开 docker ,asdf 安装多版本 Python ,在每个项目下写.tool-versions 文件指定当前项目使用的 py 版本可否?

    使用 docker ,无论如何,base on 一个官方 image ,造出满足你要求的 image ,应该就可以了吧?
    Maerd
        4
    Maerd  
       2023 年 10 月 8 日
    远程开发不要使用 Pycharm ,体验被 vscode 爆了十条街,pycharm 会在远程端起一个 ide ,内存消耗巨大,且同步经常出错不够稳定
    qazwsxkevin
        5
    qazwsxkevin  
    OP
       2023 年 10 月 9 日
    嗯嗯,谢谢各位,经过一些科普和 docker 机制,为了少折腾,写了一个 bash shell ,需要时一个 python 版本就建一个容器,就这么搞了,

    @Maerd #4 ,以前也就是兴趣玩玩这些,一直以来就只摸索了 Pycharm (主要还是“借"了个正版码),不知道重新调配 VSCode 环境,要花多少时间了,有间歇时,会试试 VSCode
    关于     帮助文档     自助推广系统     博客     API    FAQ     Solana     1052 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 44ms UTC 18:35 PVG 02:35 LAX 11:35 JFK 14:35
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86