一款免配置的浏览器编程工具jupyter,可以同时编写 python,java,c,c++,体积小

简介: 一款免配置的浏览器编程工具jupyter,可以同时编写 python,java,c,c++,体积小

针对 小白的镜像使用说明

docker是一款轻量化虚拟机软件,可以通过单条命令实现镜像迁移

本镜像说明,在我们学习编程的时候总是有很多的编程软件需要下载,每个语言的编程软件配置都很费时间,

而且不同的编程语言的软件都不一样,诸如 vscode ,vc6.0 ,pycharm ,idea ,eclips

即便是大佬习惯vim编程,jupyter也可以很好的满足你

下边开始介绍如何使用本教程的镜像


下载docker官网链接https://www.docker.com/

下载完成后,在windows 下安装docker ,linux 可以直接 yum,或者apt 直接安装docker

cmd检测docker是否安装成功
docker --version
输出  Docker version 19.03.5, build 633a0ea


安装完成后就可以使用镜像了

jupyter密码 lmklmk

ssh密码lmk19980312

镜像大小 1.5 g 包含jupyterlab conda gcc g++ java13 python37等语言编译器

#windows 下使用, 在命令行管理员身份执行下边一条命令
docker run -tdi   -p 20022:22  -p 20088:8888  --name   kernel1   --privileged=true  registry.cn-hangzhou.aliyuncs.com/mkmk/conda:v2  init  | docker exec -d  kernel1   /bin/bash -c "cd /home && source /etc/profile && nohup jlab &"
#Linux 下使用
docker run -tdi   -p 20022:22  -p 20088:8888  --name   kernel1   --privileged=true  registry.cn-hangzhou.aliyuncs.com/mkmk/conda:v2  init  &&  docker exec -d  kernel1   /bin/bash -c "cd /home && source /etc/profile && nohup jlab &"
英文字符版是 v1
中文字符版是 registry.cn-hangzhou.aliyuncs.com/mkmk/conda:v2

执行完命令后就可以使用

localhost:20088

访问jupyter lab ,访问密码 lmklmk

然后就可以开始 各种语言的编程了, c++推荐选用c++17


教程正文结束,想学习docker构建镜像的朋友可以看下,下边的完整的镜像搭建过程,有能力的小伙伴,也可以帮忙添加更多的内核进去,比如 c# ,swift,javascript, 然后在博客回复留下你的,博客以及镜像地址

原始jupuyter环境创建

第一步先创建 一个 jupyterlab 环境

#windows命令
docker run -tdi   -p 10022:22  -p 18888:8888  --name jlab1   --privileged=true registry.cn-hangzhou.aliyuncs.com/mkmk/python37:al1  init | docker exec -d jlab1 /bin/bash -c "cd /jupyterlab && nohup jlab &"

安装c环境

环境中已经包含了 gcc

创建一个 文件写下 如下代码

 #include<stdio.h> int main() 
  {
     printf (" py helloWorld,Best wish!\n");
     return 0;   
  }


gcc cs1.c -o hello
./hellow 
输出
sh-4.2# ./hello
 py helloWorld,Best wish!

安装 c++ 环境

安装 g++

yum -y install gcc gcc-c++ kernel-devel cmake
安装成功
sh-4.2# g++ -v
Using built-in specs.
COLLECT_GCC=g++

创建文本文件写下如下 c++ 代码

cplus1.cpp

#include <iostream>
using namespace std;
int main()
{
    cout << "Hello, world!" << endl;
    return 0;
}

当直接 g++ cplus1.cpp 会固定生成 a.out 可执行文件

所以我们还是加上 -o 指定 生成的可执行文件的名字吧

g++ cplus1.cpp -o cplus1
./cplus1 
输出:
Hello, world!

安装 java 编译环境

yum -y install java-devel
安装完成输出
java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)

编写java程序 h1.java

注意class 名称 要和 文件名称 保持一致

否则会发生报错

public class h1{
public static void main(String[] args){
System.out.print("Hello java!\n");
}
}

运行

javac h1.java && java h1
Hello java!

安装 conda

下载安装脚本
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
1
执行脚本安装
bash Miniconda3-latest-Linux-x86_64.sh
# 阅读说明
# 选择安装目录
/usr/local/miniconda3
# 是否安装vscode
# 是否添加环境变量
no
# 安装完成
source /usr/local/miniconda3/etc/profile.d/conda.sh
测试安装结果 查看版本
conda -V
conda 4.7.12
#修改为国内镜像源
conda清华源(TUNA)
vi  ~/.condarc
文件内容
channels:
  - defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

conda使用

conda  activate

安装 jupyterlab

安装过程:
1、在开始菜单中打开Anaconda Prompt
2、执行jupyter lab安装命令:conda install jupyterlab
3、升级jupyter内核和客户端:conda update jupyter_core jupyter_client
4、启动jupyter lab:jupyter lab
   启动jupyter notebook:jupyter notebook
[I 21:46:26.903 LabApp] 把notebook 服务cookie密码写入 /root/.local/share/jupyter/runtime/notebook_cookie_secret
jupyter notebook --generate-config
Writing default config to: /root/.jupyter/jupyter_notebook_config.py
vim /root/.jupyter/jupyter_notebook_config.py
将293行 #c.NotebookApp.token = '<generated>'修改为c.NotebookApp.token = 'password',则密码就改为password
c.NotebookApp.token = '<generated>'
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.open_browser = False
c.NotebookApp.allow_root=True
jupyter lab --allow-root
密码会出现
 http://127.0.0.1:8888/?token=ff3f83a43662e499d09fcaf84aa62caa35c8dd90cfb0e4d8
nohup jupyter lab --allow-root &

安装 c kernel

#如果要用conda 安装pip 需要

conda install pip 
pip install jupyter-c-kernel
cd /usr/local/miniconda3/lib/python3.7/site-packages/jupyter_c_kernel
install_c_kernel
安装完成提示
#Installing IPython kernel spec
测试
#include<stdio.h>
int main()
  {
    printf (" py hello c program!\n"); 
    return 0;
   }
shift enter 执行
输出  Hello c++!

#pip直接安装

pip3 install jupyter-c-kernel
pip3 show jupyter-c-kernel
cd /usr/local/python37/lib/python3.7/site-packages/jupyter_c_kernel
install_c_kernel
安装成功
Installing IPython kernel spec

安装 c ++ kernel

conda install xeus-cling -c conda-forge
测试
#include <iostream>
std::cout << "Hello c++!" << std::endl;
shift enter 执行
输出  Hello c++!

安装 java kernel

安装jdk 高于版本8
mkdir /usr/local/java
tar -xf jdk-13_linux-x64_bin.tar.gz -C /usr/local/java
cd  /usr/local/java
vim /etc/profile
export JAVA_HOME=/usr/local/java/jdk-13
export JRE_HOME=/${JAVA_HOME}
export CLASSPATH=.:${JAVA_HOME}/libss:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
source /etc/profile
#下载  Ijava
wget https://github.com/SpencerPark/IJava/releases/download/v1.2.0/ijava-1.2.0.zip
unzip ijava-1.2.0.zip
python install.py --sys-prefix
jupyter kernelspec list
#重启jupyterlab
pkill -9 jlab 
cd /jupyterlab && nohup jlab &
source  /etc/locale.conf

镜像使用

jupyter密码 lmklmk

ssh密码lmk19980312

镜像大小 1.5 g 包含jupyterlab conda gcc g++ java13 python37等语言编译器

#windows 下使用
docker run -tdi   -p 20022:22  -p 20088:8888  --name   kernel1   --privileged=true  registry.cn-hangzhou.aliyuncs.com/mkmk/conda:v1  init  | docker exec -d  kernel1   /bin/bash -c "cd /home && source /etc/profile && nohup jlab &"
#Linux 下使用
docker run -tdi   -p 20022:22  -p 20088:8888  --name   kernel1   --privileged=true  registry.cn-hangzhou.aliyuncs.com/mkmk/conda:v1  init  &&  docker exec -d  kernel1   /bin/bash -c "cd /home && source /etc/profile && nohup jlab &"

upyter编程

点击左上角+号即可,创建,python ,c ,c++ ,java 语言直接编程

直接编程方式

除了jupyter编写c,c++,java,也可以在命令行终端,开发项目,点击左上角 + 号 创建命令行

python:    python ptest.py
c:        gcc ctest.c -o ctest && ./ctest
c++:       g++ cptest.cpp -o cptest && ./cptest
java:      javac jtest.java  && java jtest

Doker 常用命令

#查看镜像列表
docker images
#删除单个镜像
docker rmi image-id
#删除所有镜像
docker rmi $(docker images -q)
#查看运行中的容器
docker ps
#查看所有容器
docker ps -a
#停止单个容器
docker stop container-id
#停止所有容器
docker stop $(docker ps -a -q)
#删除单个容器
docker rm container-id
#删除所有容器
docker rm $(docker ps -a -q)
#删除系统数据
docker system prune
windows清空
docker stop $(docker ps -a -q) |  docker rm $(docker ps -a -q) | docker rmi $(docker images -q)
linux清空
docker stop $(docker ps -a -q)  &&  docker rm $(docker ps -a -q) && docker rmi $(docker images -q)

完整Dockerfile制作centos7中文字符集

        至此,可以基于以上方法,制作一个支持中文环境的Centos7镜像,完成的Dockerfile如下:
FROM  registry.cn-hangzhou.aliyuncs.com/mkmk/conda:v1
# Install tools
RUN  yum -y install kde-l10n-Chinese telnet && \
       yum -y reinstall glibc-common &&\
              yum clean all  && \
                localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 && \
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ENV LANG=zh_CN.UTF-8 \
    LANGUAGE=zh_CN:zh \
    LC_ALL=zh_CN.UTF-8
# Define default command.
CMD ["bash"]
docker build -t registry.cn-hangzhou.aliyuncs.com/mkmk/conda:v2 .


相关文章
|
1月前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——TestStu.java
hibernate正向生成数据库表以及配置——TestStu.java
18 1
|
1月前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——Teacher.java
hibernate正向生成数据库表以及配置——Teacher.java
11 0
|
1月前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——Student.java
hibernate正向生成数据库表以及配置——Student.java
10 0
|
20天前
|
人工智能 机器人 C++
【C++/Python】Windows用Swig实现C++调用Python(史上最简单详细,80岁看了都会操作)
【C++/Python】Windows用Swig实现C++调用Python(史上最简单详细,80岁看了都会操作)
|
1月前
|
编译器 测试技术 C++
【Python 基础教程 01 全面介绍】 Python编程基础全攻略:一文掌握Python语法精髓,从C/C++ 角度学习Python的差异
【Python 基础教程 01 全面介绍】 Python编程基础全攻略:一文掌握Python语法精髓,从C/C++ 角度学习Python的差异
167 0
|
4天前
|
Java
Java配置环境
Java配置环境
10 0
Java配置环境
|
2天前
|
前端开发 JavaScript 开发工具
Sublime Text 3配置C/C++开发环境
【4月更文挑战第15天】本篇 Huazie 介绍了 Sublime Text 3 配置 C/C++ 的相关内容,感兴趣的朋友赶紧配置起来,有任何问题可以随时评论区沟通。
22 1
Sublime Text 3配置C/C++开发环境
|
9天前
|
前端开发 Java Go
开发语言详解(python、java、Go(Golong)。。。。)
开发语言详解(python、java、Go(Golong)。。。。)
|
10天前
|
Java 测试技术 定位技术
《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)
【4月更文挑战第15天】本文介绍了如何使用Selenium进行浏览器窗口切换以操作不同页面元素。首先,获取浏览器窗口句柄有两种方法:获取所有窗口句柄的集合和获取当前窗口句柄。然后,通过`switchTo().window()`方法切换到目标窗口句柄。在项目实战部分,给出了一个示例,展示了在百度首页、新闻页面和地图页面之间切换并输入文字的操作。最后,文章还探讨了在某些情况下可能出现的问题,并提供了一个简单的本地HTML页面示例来演示窗口切换的正确操作。
38 0
|
15天前
|
Java
Java配置大揭秘:读取自定义配置文件的绝佳指南
Java配置大揭秘:读取自定义配置文件的绝佳指南
16 0
Java配置大揭秘:读取自定义配置文件的绝佳指南