PyCharm使用之配置SSH Interpreter的方法步骤
在文章PyCharm使用之利用Docker镜像搭建Python开发环境中,该文章介绍了在PyCharm中如何利用Docker镜像搭建Python开发环境。在本文中,将会介绍如何使用PyCharm来配置SSHInterpreter,本文中的SSHInterpreter用Docker镜像来实现。
演示项目的结构如下图所示:
制作带SSH服务的Docker镜像
首先,我们先制作带SSH服务的Docker镜像,里面含有Python开发环境,Dockerfile文件为python_env.build,内容如下:
FROMcentos:7.2.1511 #authorlabel LABELmaintainer="jclian" #installrelatedpackages ENVENVIRONMENTDOCKER_PROD RUNcd/&&ln-sf/usr/share/zoneinfo/Asia/Shanghai/etc/localtime\ &&yummakecache\ &&yuminstall-ywgetaclocalautomakeautoconfmakegccgcc-c++python-develmysql-develbzip2libffi-develepel-release\ &&yumcleanall #installpython3.7.0 RUNwgethttps://npm.taobao.org/mirrors/python/3.7.0/Python-3.7.0.tar.xz\ &&tar-xvfPython-3.7.0.tar.xz-C/usr/local/\ &&rm-rfPython-3.7.0.tar.xz\ &&cd/usr/local/Python-3.7.0\ &&./configure&&make&&makeinstall #创建src目录 COPYsrc/root/src WORKDIR/root/src #installrelatedpackages RUNpip3install-ihttps://pypi.doubanio.com/simple/-rrequirements.txt #exposeport EXPOSE15731 #installssh RUNyum-yupdate;yumcleanall RUNyum-yinstallopenssh-serverpasswd;yumcleanall ADD./start.sh/start.sh RUNmkdir/var/run/sshd RUNssh-keygen-trsa-f/etc/ssh/ssh_host_rsa_key-N'' RUNchmod755/start.sh RUN/start.sh ENTRYPOINT["/usr/sbin/sshd","-D"]
在这个CentOS系统中,我们配置了SSH服务,其中start.sh中含有账号名和密码,同时又配置了Python开发环境,start.sh文件的内容如下:
#!/bin/bash __create_user(){ #CreateausertoSSHintoas. useradduser SSH_USERPASS=newpass echo-e"$SSH_USERPASS\n$SSH_USERPASS"|(passwd--stdinuser) echosshuserpassword:$SSH_USERPASS } #Callallfunctions __create_user
requirements.txt的内容如下:
tornado==5.1.1 jieba==0.39
安装的第三方模块为tornado和jieba。制作镜像的脚本为build.sh,内容如下:
#!/usr/bin/envbash TIMENOW=`date+%y.%m.%d.%H%M` #进行docker镜像打包 dockerbuild-fpython_dev.build-tssh_docker_python_dev:${TIMENOW}.
运行该镜像,生成的docker镜像为ssh_docker_python_dev:19.12.25.1346,如下所示:
$dockerimages|grepssh_docker ssh_docker_python_dev19.12.25.1346cca5b78c199c9hoursago988MB
到此,制作docker镜像完成。
测试镜像的SSH服务
接着,我们在本地启动该docker镜像,命令如下:
$dockerrun-d-p49154:22ssh_docker_python_dev:19.12.25.1346
接着输入:
$ssh-p49154user@127.0.0.1
在接受凭证时选择yes,并输入密码“newpass”,就能顺利进入该容器内部了,尝试Python使用,如下:
$ssh-p49154user@127.0.0.1 user@127.0.0.1'spassword: [user@4718f33bc470~]$python3 Python3.7.0(default,Dec242019,23:58:12) [GCC4.8.520150623(RedHat4.8.5-39)]onlinux Type"help","copyright","credits"or"license"formoreinformation. >>>importjieba >>>list(jieba.cut("三亚的风景很不错")) Buildingprefixdictfromthedefaultdictionary... Dumpingmodeltofilecache/tmp/jieba.cache Loadingmodelcost1.197seconds. Prefixdicthasbeenbuiltsuccesfully. ['三亚','的','风景','很','不错']
在PyCharm中配置SSHInterpreter
在PyCharm的系统配置中,在“ProjectInterpreter”选择中可以看到右侧的“ProjectInter”中没有interpreter,我们点击有变动的小齿轮,选择“Add”,如下图:
点击“Next”,输入密码“newpass”,再点击“Next”,选择Interpreter的路径为“/usr/local/Python-3.7.0/python”,如下图:
测试SSHInterpreter
配置好Python环境后,我们用jieba_test.py作为测试文件,来验证Python环境是否配置好。jieba_test.py的代码如下:
#-*-coding:utf-8-*- #author:Jclian91 #place:PudongShanghai #time:2:09下午 importos,re,json,traceback importjieba if__name__=='__main__': sent='最近这几天,我都在三亚上班,看着海开发的感觉还不错。' print(list(jieba.cut(sent)))
输出结果如下:
ssh://user@127.0.0.1:49154/usr/local/Python-3.7.0/python-u/tmp/pycharm_project_58/jieba_test.py Buildingprefixdictfromthedefaultdictionary... Loadingmodelfromcache/tmp/jieba.cache Loadingmodelcost0.775seconds. Prefixdicthasbeenbuiltsuccesfully. ['最近','这','几天',',','我','都','在','三亚','上班',',','看着','海','开发','的','感觉','还','不错','。']
太好了,Docker容器内的Python开发环境是可以使用的。这时候,我们在进入Docker容器内去查看下,如下:
$dockerps CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES 4718f33bc470ssh_docker_python_dev:19.12.25.1346"/usr/sbin/sshd-D"20minutesagoUp20minutes15731/tcp,0.0.0.0:49154->22/tcpbrave_nobel $dockerexec-it4718f33bc470bash [root@4718f33bc470src]#cd/tmp/pycharm_project_58/ [root@4718f33bc470pycharm_project_58]#ls-l total24 -rw-rw-r--1useruser960Dec2514:12README.md -rw-rw-r--1useruser150Dec2513:21build.sh -rw-rw-r--1useruser284Dec2514:10jieba_test.py -rw-rw-r--1useruser1100Dec2513:46python_dev.build drwxrwxr-x2useruser4096Dec2522:48src -rw-rw-r--1useruser235Dec2513:21start.sh [root@4718f33bc470pycharm_project_58]#
可以看到,容器中的/tmp/pycharm_project_58路径下确实包含了本地项目的所有文件。
关于如何制作带SSH服务和Python开发环境的Docker镜像以及如何在PyCharm中配置SSHInterpreter的讲述到此结束,感谢大家的阅读~
该演示项目已上传至Github,网址为:https://github.com/percent4/Python_docker。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。