一款免配置的浏览器编程工具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 .


相关文章
|
jenkins Shell 测试技术
|
安全 jenkins Java
Java、Python、C++支持jenkins和SonarQube(一)
Jenkins 是一个开源的 持续集成(CI)和持续交付(CD) 工具,用于自动化构建、测试和部署软件项目。它基于 Java 开发,支持跨平台运行,并拥有丰富的插件生态系统,可以灵活地扩展功能
685 5
|
jenkins Java Shell
Java、Python、C++支持jenkins和SonarQube(全集)
Jenkins 是一个开源的持续集成(CI)和持续交付(CD)工具,用于自动化构建、测试和部署软件项目。它基于 Java 开发,支持跨平台运行,并拥有丰富的插件生态系统,可以灵活地扩展功能
1008 1
|
jenkins Java 持续交付
Java、Python、C++支持Jenkins和SonarQube(三)
Python与Jenkins和SonarQube
619 1
|
jenkins Java 测试技术
|
人工智能 安全 Shell
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。
1030 2
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
|
数据采集 自然语言处理 Java
Playwright 多语言一体化——Python/Java/.NET 全栈采集实战
本文以反面教材形式,剖析了在使用 Playwright 爬取懂车帝车友圈问答数据时常见的配置错误(如未设置代理、Cookie 和 User-Agent),并提供了 Python、Java 和 .NET 三种语言的修复代码示例。通过错误示例 → 问题剖析 → 修复过程 → 总结教训的完整流程,帮助读者掌握如何正确配置爬虫代理及其它必要参数,避免 IP 封禁和反爬检测,实现高效数据采集与分析。
1033 3
Playwright 多语言一体化——Python/Java/.NET 全栈采集实战
|
IDE 开发工具 Python
魔搭notebook在web IDE下,使用jupyter notebook,python扩展包无法更新升级
魔搭notebook在web IDE下,使用jupyter notebook,python扩展包无法更新升级,不升级无法使用,安装python扩展包的时候一直停留在installing
456 4
|
数据采集 自然语言处理 JavaScript
Playwright多语言生态:跨Python/Java/.NET的统一采集方案
随着数据采集需求的增加,传统爬虫工具如Selenium、Jsoup等因语言割裂、JS渲染困难及代理兼容性差等问题,难以满足现代网站抓取需求。微软推出的Playwright框架,凭借多语言支持(Python/Java/.NET/Node.js)、统一API接口和优异的JS兼容性,解决了跨语言协作、动态页面解析和身份伪装等痛点。其性能优于Selenium与Puppeteer,在学术数据库(如Scopus)抓取中表现出色。行业应用广泛,涵盖高校科研、大型数据公司及AI初创团队,助力构建高效稳定的爬虫系统。
1084 2
Playwright多语言生态:跨Python/Java/.NET的统一采集方案
|
编解码 JavaScript 前端开发
【Java进阶】详解JavaScript的BOM(浏览器对象模型)
总的来说,BOM提供了一种方式来与浏览器进行交互。通过BOM,你可以操作窗口、获取URL、操作历史、访问HTML文档、获取浏览器信息和屏幕信息等。虽然BOM并没有正式的标准,但大多数现代浏览器都实现了相似的功能,因此,你可以放心地在你的JavaScript代码中使用BOM。
513 23

推荐镜像

更多