欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PyCharm使用之配置SSH Interpreter的方法步驟

 更新時間:2019年12月26日 10:12:28   作者:jclian91  
這篇文章主要介紹了PyCharm使用之配置SSH Interpreter的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

在文章PyCharm使用之利用Docker鏡像搭建Python開發(fā)環(huán)境中,該文章介紹了在PyCharm中如何利用Docker鏡像搭建Python開發(fā)環(huán)境。在本文中,將會介紹如何使用PyCharm來配置SSH Interpreter,本文中的SSH Interpreter用Docker鏡像來實現(xiàn)。

演示項目的結構如下圖所示:

制作帶SSH服務的Docker鏡像

首先,我們先制作帶SSH服務的Docker鏡像,里面含有Python開發(fā)環(huán)境,Dockerfile文件為python_env.build,內容如下:

FROM centos:7.2.1511

# author label
LABEL maintainer="jclian"

# install related packages
ENV ENVIRONMENT DOCKER_PROD
RUN cd / && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
  && yum makecache \
  && yum install -y wget aclocal automake autoconf make gcc gcc-c++ python-devel mysql-devel bzip2 libffi-devel epel-release \
  && yum clean all

# install python 3.7.0
RUN wget https://npm.taobao.org/mirrors/python/3.7.0/Python-3.7.0.tar.xz \
  && tar -xvf Python-3.7.0.tar.xz -C /usr/local/ \
  && rm -rf Python-3.7.0.tar.xz \
  && cd /usr/local/Python-3.7.0 \
  && ./configure && make && make install

# 創(chuàng)建src目錄
COPY src /root/src
WORKDIR /root/src

# install related packages
RUN pip3 install -i https://pypi.doubanio.com/simple/ -r requirements.txt

# expose port
EXPOSE 15731

# install ssh
RUN yum -y update; yum clean all
RUN yum -y install openssh-server passwd; yum clean all
ADD ./start.sh /start.sh
RUN mkdir /var/run/sshd

RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''

RUN chmod 755 /start.sh
RUN /start.sh
ENTRYPOINT ["/usr/sbin/sshd", "-D"]

在這個CentOS系統(tǒng)中,我們配置了SSH服務,其中start.sh中含有賬號名和密碼,同時又配置了Python開發(fā)環(huán)境,start.sh文件的內容如下:

#!/bin/bash

__create_user() {
# Create a user to SSH into as.
useradd user
SSH_USERPASS=newpass
echo -e "$SSH_USERPASS\n$SSH_USERPASS" | (passwd --stdin user)
echo ssh user password: $SSH_USERPASS
}

# Call all functions
__create_user

requirements.txt的內容如下:

tornado==5.1.1
jieba==0.39

安裝的第三方模塊為tornado和jieba。制作鏡像的腳本為build.sh,內容如下:

#!/usr/bin/env bash

TIMENOW=`date +%y.%m.%d.%H%M`

# 進行docker鏡像打包
docker build -f python_dev.build -t ssh_docker_python_dev:${TIMENOW} .

運行該鏡像,生成的docker鏡像為ssh_docker_python_dev:19.12.25.1346, 如下所示:

$ docker images | grep ssh_docker
ssh_docker_python_dev   19.12.25.1346  cca5b78c199c  9 hours ago  988MB

到此,制作docker鏡像完成。

測試鏡像的SSH服務

接著,我們在本地啟動該docker鏡像,命令如下:

$ docker run -d -p 49154:22 ssh_docker_python_dev:19.12.25.1346

接著輸入:

$ ssh -p 49154 user@127.0.0.1

在接受憑證時選擇yes,并輸入密碼“newpass”,就能順利進入該容器內部了,嘗試Python使用,如下:

$ ssh -p 49154 user@127.0.0.1
user@127.0.0.1's password:
[user@4718f33bc470 ~]$ python3
Python 3.7.0 (default, Dec 24 2019, 23:58:12)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import jieba
>>> list(jieba.cut("三亞的風景很不錯"))
Building prefix dict from the default dictionary ...
Dumping model to file cache /tmp/jieba.cache
Loading model cost 1.197 seconds.
Prefix dict has been built succesfully.
['三亞', '的', '風景', '很', '不錯']

在PyCharm中配置SSH Interpreter

在PyCharm的系統(tǒng)配置中,在“Project Interpreter”選擇中可以看到右側的“Project Inter”中沒有interpreter,我們點擊有變動的小齒輪,選擇“Add”,如下圖:


在彈出來的界面中,我們選擇interpreter的類型為“SSH Interpreter”,同時設置連接信息如下圖:

點擊“Next”,輸入密碼“newpass”,再點擊“Next”,選擇Interpreter的路徑為“/usr/local/Python-3.7.0/python”,如下圖:


需要注意的是,在這里我們能夠看到本地項目路徑對應于容器內的/tmp/pycharm_project_951路徑,同時會把該項目中的文件自動上傳至容器內對應的項目路徑。最后點擊“Finish”即可完成SSH Interpreter的配置。

測試SSH Interpreter

配置好Python環(huán)境后,我們用jieba_test.py作為測試文件,來驗證Python環(huán)境是否配置好。jieba_test.py的代碼如下:

# -*- coding: utf-8 -*-
# author: Jclian91
# place: Pudong Shanghai
# time: 2:09 下午
import os, re, json, traceback
import jieba

if __name__ == '__main__':
  sent = '最近這幾天,我都在三亞上班,看著海開發(fā)的感覺還不錯。'
  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
Building prefix dict from the default dictionary ...
Loading model from cache /tmp/jieba.cache
Loading model cost 0.775 seconds.
Prefix dict has been built succesfully.
['最近', '這', '幾天', ',', '我', '都', '在', '三亞', '上班', ',', '看著', '海', '開發(fā)', '的', '感覺', '還', '不錯', '。']

太好了,Docker容器內的Python開發(fā)環(huán)境是可以使用的。這時候,我們在進入Docker容器內去查看下,如下:

$ docker ps
CONTAINER ID    IMAGE                 COMMAND        CREATED       STATUS       PORTS               NAMES
4718f33bc470    ssh_docker_python_dev:19.12.25.1346  "/usr/sbin/sshd -D"  20 minutes ago   Up 20 minutes    15731/tcp, 0.0.0.0:49154->22/tcp  brave_nobel
$ docker exec -it 4718f33bc470 bash
[root@4718f33bc470 src]# cd /tmp/pycharm_project_58/
[root@4718f33bc470 pycharm_project_58]# ls -l
total 24
-rw-rw-r-- 1 user user 960 Dec 25 14:12 README.md
-rw-rw-r-- 1 user user 150 Dec 25 13:21 build.sh
-rw-rw-r-- 1 user user 284 Dec 25 14:10 jieba_test.py
-rw-rw-r-- 1 user user 1100 Dec 25 13:46 python_dev.build
drwxrwxr-x 2 user user 4096 Dec 25 22:48 src
-rw-rw-r-- 1 user user 235 Dec 25 13:21 start.sh
[root@4718f33bc470 pycharm_project_58]#

可以看到,容器中的/tmp/pycharm_project_58路徑下確實包含了本地項目的所有文件。

關于如何制作帶SSH服務和Python開發(fā)環(huán)境的Docker鏡像以及如何在PyCharm中配置SSH Interpreter的講述到此結束,感謝大家的閱讀~

該演示項目已上傳至Github,網(wǎng)址為:https://github.com/percent4/Python_docker。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • python多進程和多線程介紹

    python多進程和多線程介紹

    這篇文章主要介紹了python多進程和多線程,進程是分配資源的最小單位,線程是系統(tǒng)調度的最小單位,下文更多相關資料介紹,需要的小伙伴可以參考一下
    2022-04-04
  • 詳解Python中的__new__()方法的使用

    詳解Python中的__new__()方法的使用

    本文主要介紹了Python中的__new__()方法的使用的基本知識,本文中給出了基于Python2.x的代碼實例,需要的朋友可以參考一下
    2015-04-04
  • 用Python實現(xiàn)職工信息管理系統(tǒng)

    用Python實現(xiàn)職工信息管理系統(tǒng)

    這篇文章主要介紹了用Python實現(xiàn)職工信息管理系統(tǒng),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Python利用socket模塊開發(fā)簡單的端口掃描工具的實現(xiàn)

    Python利用socket模塊開發(fā)簡單的端口掃描工具的實現(xiàn)

    這篇文章主要介紹了Python利用socket模塊開發(fā)簡單的端口掃描工具的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • 使用Python隨機生成數(shù)據(jù)的方法

    使用Python隨機生成數(shù)據(jù)的方法

    這篇文章主要介紹了使用Python隨機生成數(shù)據(jù)的方法,在日常開發(fā)中竟然會遇到需要測試大量數(shù)據(jù)的地方,那么隨機生成數(shù)據(jù)就可以有效的加快我們的效率,通過Python_Faker生成測試數(shù)據(jù)需要安裝Faker包,需要的朋友可以參考下
    2023-10-10
  • 深入理解Pytorch中的torch. matmul()

    深入理解Pytorch中的torch. matmul()

    這篇文章主要介紹了Pytorch中的torch. matmul()的相關資料,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • pytorch中的model=model.to(device)使用說明

    pytorch中的model=model.to(device)使用說明

    這篇文章主要介紹了pytorch中的model=model.to(device)使用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • pytorch關于卷積操作的初始化方式(kaiming_uniform_詳解)

    pytorch關于卷積操作的初始化方式(kaiming_uniform_詳解)

    這篇文章主要介紹了pytorch關于卷積操作的初始化方式(kaiming_uniform_詳解),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 關于fastapi異步接口卡死的坑及解決

    關于fastapi異步接口卡死的坑及解決

    這篇文章主要介紹了關于fastapi異步接口卡死的坑及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Python實例方法、類方法、靜態(tài)方法區(qū)別詳解

    Python實例方法、類方法、靜態(tài)方法區(qū)別詳解

    這篇文章主要介紹了Python實例方法、類方法、靜態(tài)方法區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09

最新評論