windows一键启动jupyter

这篇具有很好参考价值的文章主要介绍了windows一键启动jupyter。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

jupyter简介

Jupyter是一个开源的交互式计算环境,主要用于数据分析、数据可视化和科学计算。它的名字来源于三种编程语言的缩写:Julia、Python和R,这三种语言都可以在Jupyter环境中运行。如果您想进行数据分析、科学计算、机器学习等任务,Jupyter是一个非常有用的工具,因为它提供了一个交互式的环境,让您可以探索数据、编写代码并实时查看结果。

Jupyter的主要特点

交互性

Jupyter环境允许用户以交互式的方式编写和执行代码。用户可以一次性执行一条代码或一块代码,然后立即查看结果。这对于数据分析和探索性编程非常有用。

支持多种编程语

虽然最初是以支持Julia、Python和R为主,但实际上Jupyter可以支持众多编程语言。用户可以通过安装相应的内核来扩展Jupyter的语言支持。

Notebook文档

Jupyter Notebook是Jupyter环境的一种文件格式,它允许用户在同一个文档中混合编写可执行的代码、可视化输出、文本说明、公式和图像等内容。这使得Jupyter成为了一个非常适合分享和展示分析过程的工具。

数据可视化

Jupyter环境内嵌了丰富的数据可视化工具,使用户可以方便地创建图表、图像和动画,以更好地理解数据。

灵活性

Jupyter可以在本地计算机上安装运行,也可以在云端服务器上部署。这使得用户可以根据自己的需求选择适合的运行环境。

Jupyter 的安装

在Linux上安装Jupyter Notebook

  1. 安装Python: 大多数Linux发行版都自带Python,您可以通过以下命令检查是否已经安装:

    python --version
    

    如果未安装Python或需要更新版本,请根据您的发行版使用适当的包管理工具进行安装或更新。

  2. 安装pip: 如果未安装pip,可以使用以下命令安装:

    sudo apt-get update
    sudo apt-get install python3-pip
    
  3. 安装Jupyter Notebook: 在终端中运行以下命令来安装Jupyter Notebook:

    python3 -m pip install jupyter
    
  4. 启动Jupyter Notebook: 在终端中运行以下命令来启动Jupyter Notebook:

    jupyter notebook
    

在Windows上安装Jupyter Notebook

  1. 安装Python和pip: 可以从Python官方网站(https://www.python.org/downloads/windows/)下载Python安装程序,并确保勾选“Add Python to PATH”选项。

  2. 安装Jupyter Notebook: 在命令提示符(Command Prompt)中运行以下命令来安装Jupyter Notebook:

    python -m pip install jupyter
    
  3. 启动Jupyter Notebook: 在命令提示符中运行以下命令来启动Jupyter Notebook:

    jupyter notebook
    

总结一下,不管是linux还是windows安装都是一下几个步骤:

   1. 首先安装python环境,windows则配置一下环境
   2. 再安装pip环境
   3. 通过pip命令安装jupyter模块
   4. 运行jupyter

如何在windows下一键启动安装jupyter?

背景(为什么要这么做?)

实际情况是我们想做一个在线的python编辑器,需要用户能再浏览器进行在线编程python,并且能实时输出python代码执行的结果。有人可能会说为什么不直接通过代码进行执行服务器上的python命令来执行python代码呢,但是这样其实做不到实时返回执行结果的,比如一个for循环打印无法实现,比如用户需要输入,接受输入以后展示输出结果。

设计思路(怎么做?)

问题
  • windows执行意见安装一般都是一个exe程序点击一键启动,如何打包exe
  • 启动如何安装pythonpip的环境
解决问题
  1. 目前打包exe的方式一般有两种: 使用 pyinstaller 打包 Python 程序为 .exe和使用 Visual Studio 打包 C# 程序为 .exe,这里我们对python代码比较熟悉,选择使用pyinstaller
  2. 首先pythonwindows的安装包,如果通过python代码去安装python.exe,体验非常不好,需用用户去点击安装。这里我们换个思路,找到python官网提供免安装版本的python包。

不要开心的太早了,免安装版本的python包不没有pip模块的,所以就得考虑安装pip模块。python安装pip模块见:免安装版本python安装pip模块。

总结

我们再总结一下前面的思路,进行一个比较详细的设计思路:

  1. 下载官方python进行解压,并且将 get-pip.py 放入到python文件夹下
  2. 首先判断python是否已经安装过,未安装则配置python 环境变量
  3. 首先判断pip模块是否已经安装过,未安装通过python代码安装pip模块
  4. 安装完以后pip模块后,再配置pip的环境变量
  5. 为了防止安装jupyter超时,通过python代码更换镜像源为国内镜像源
  6. 使用pip进行安装jupyter
  7. 启动jupyter

此步骤则是完整的代码逻辑,其实这里并不完整,因为你安装了jupyter ,你肯定不想每次使用的时候都去点击exe来启动jupyter,所以是需要做一个windows的开机自启动的,这个后面会降到如何做开机自启。

代码实现

jupyter 打包exe 代码实现

jupyter.py

import os
import subprocess
import traceback
import socket
from utils.logutils import log

python_path = "python"
scripts_path = "python\Scripts"


def is_installed(model):
    try:
        # 尝试运行 python 命令
        result = subprocess.run([model, "--version"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
        # 检查返回结果
        if result.returncode == 0:
            return True
        else:
            return False
    except FileNotFoundError:
        return False


def install_pip_module():
    if not is_installed("pip"):
        # 安装 pip 模块
        try:
            new_path = os.path.join(os.getcwd(), f'python')
            subprocess.check_call(["python", f'{new_path}\get-pip.py'])
            log.info("成功安装 pip 模块")
        except subprocess.CalledProcessError:
            log.info("安装 pip 模块时出错")


def configure_path(path):
    # Assuming the path to add is '/path/to/python/bin'
    new_path = os.path.join(os.getcwd(), f'{path}')
    # 获取当前的PATH环境变量
    current_path = os.environ["PATH"]
    # 在当前的PATH后追加新路径,并使用os.pathsep分隔
    new_path_value = current_path + os.pathsep + new_path
    # 更新环境变量
    os.environ["PATH"] = new_path_value


def configure_path_env_variable():
    if not is_installed("pip") and is_installed("python"):
        env_var_name = "PATH"
        python_path = os.path.join(os.getcwd(), f'python')
        scripts_path = os.path.join(os.getcwd(), f'python\Scripts')
        env_var_value = python_path + os.pathsep + scripts_path
        try:
            # 设置环境变量
            configure_path(f'python')
            configure_path(f'python\Scripts')
            subprocess.check_call(["setx", env_var_name, f"%{env_var_name}%;{env_var_value}"])
            log.info(f"成功追加环境变量: {env_var_name}={env_var_value}")
        except subprocess.CalledProcessError:
            log.info(f"追加环境变量时出错: {env_var_name}")


def change_mirror_source():
    if not is_installed("pip"):
        # 更换镜像源pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
        mirror_url = "https://pypi.tuna.tsinghua.edu.cn/simple"
        os.system('pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple')
        log.info(f"已更换镜像源:{mirror_url}")


def install_jupyter():
    if not is_installed("jupyter"):
        # 使用 pip 安装 jupyter
        try:
            subprocess.check_call(["python", "-m", "pip", "install", "jupyter_kernel_gateway"])
            log.info("成功安装 Jupyter")
        except subprocess.CalledProcessError:
            log.info("安装 Jupyter 时出错")


def start_jupyter():
    # 启动 Jupyter  start /B jupyter kernelgateway
    cmd = ['jupyter', 'kernelgateway', '--KernelGatewayApp.ip=0.0.0.0', '--KernelGatewayApp.port=18012',
           '--KernelGatewayApp.allow_credentials=*', '--KernelGatewayApp.allow_headers=*',
           '--KernelGatewayApp.allow_methods=*', '--KernelGatewayApp.allow_origin=*']
    try:
        subprocess.Popen(cmd, creationflags=subprocess.CREATE_NEW_CONSOLE, shell=True)
        log.info("Jupyter kernel gateway 启动成功")
    except OSError as error:
        log.error(error)


def is_running():
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.settimeout(3)
        result = s.connect_ex(('127.0.0.1', 18012))
        s.close()
        if result == 0:
            log.info("AI-Link.exe is already running or port conflict!")
            return True
        else:
            return False
    except:
        log.info("Exception of is_running:{0}".format(traceback.format_exc()))
        return False


def main_process():
    if not is_running():
        # 配置环境变量
        configure_path_env_variable()
        # 安装pip模块
        install_pip_module()
        # 更换镜像源
        change_mirror_source()
        # 使用pip进行安装jupyter
        install_jupyter()
        # 启动jupyter
        start_jupyter()


if __name__ == "__main__":
    main_process()

logutils.py

# -*- coding: utf-8 -*-
import time
import win32api
import win32con


class Log(object):
    def write(self, level, msg):
        date = time.strftime("%Y-%m-%d", time.localtime())
        log_file = r"{0}{1}{2}".format( "jupyter.", date, ".log")
        line = "{0} {1} {2}\n".format(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), level, msg)
        with open(log_file, 'a', encoding='utf-8') as f:
            f.write(line)

    def info(self, msg):
        self.write("INFO", msg)

    def error(self, msg):
        self.write("ERROR", msg)

    @staticmethod
    def notice_info(msg: str):
        win32api.MessageBox(0, f"{msg}", "警告", win32con.MB_ICONWARNING)


log = Log()
jupyter 打包exe 实现windows自启
思路
  1. 首先要了解windows如何实现开机自启
  2. 如何通过python代码去打包exe 程序实现开机自启
解决方案

一. 要实现在 Windows 开机时自动启动 .exe 程序,你可以通过以下几种方式来设置:

  1. 将程序快捷方式添加到启动文件夹
    • 按下 Win + R 键,打开“运行”对话框。
    • 输入 shell:startup,然后按回车,这将打开当前用户的启动文件夹。
    • 在启动文件夹中创建程序的快捷方式,可以通过右键点击程序的 .exe 文件,然后选择“发送到” -> “桌面(创建快捷方式)”,然后将生成的快捷方式拖放到启动文件夹中。
  2. 注册表编辑器
    • 按下 Win + R 键,打开“运行”对话框。
    • 输入 regedit,然后按回车,打开注册表编辑器。
    • 导航到 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
    • 右键点击右侧的空白处,选择“新建” -> “字符串值”。
    • 将新建的字符串值命名为你想要的名称,然后修改其数值数据为程序的完整路径,比如 C:\path\to\your\program.exe
  3. 任务计划程序
    • 搜索并打开“任务计划程序”。
    • 在左侧导航栏,选择“创建基本任务”。
    • 按照向导的指示,设置任务的名称和触发条件,选择“启动程序”作为操作类型。
    • 指定要启动的程序的路径,然后完成创建任务的过程。

以上三个方式都可以实现开机自启,先看第二个方案需要改注册表,理论上代码可行,第三个方案需要设计任务计划,通过代码实现相对可行性较低,再看第一个所有的windows 系统,startup文件目录相对固定,只需要创建快捷方式即可,相对简单,如是我们采用方案一。

二. 通过代码实现开启及自启

代码实现可行,主要问题就是如果不是使用管理员权限执行exe的话就需要强制获取一下admin的管理员权限.

代码实现:

installer.py

# -*- coding: utf-8 -*-
import os
import traceback
import ctypes
import sys
import win32com.client as client

shell = client.Dispatch("WScript.Shell")
from utils.logutils import log


def is_admin():
    try:
        return ctypes.windll.shell32.IsUserAnAdmin()
    except Exception as e:
        log.error(e)
        return False


def create_shortcut():
    try:
        filename = os.path.join(os.getcwd(), f'jupyter.exe')
        lnkName = f"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\jupyter.lnk"
        shortcut = shell.CreateShortCut(lnkName)
        shortcut.TargetPath = filename
        shortcut.save()
    except:
        log.info("Exception of creating a shortcut:{0}".format(traceback.format_exc()))


def jupyter_installer():
    if is_admin():
        create_shortcut()  # 配置自启动服务
    else:
        ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)


if __name__ == '__main__':
    try:
        jupyter_installer()
    except:
        log.info("Service initialization failed:{0}".format(traceback.format_exc()))

pyinstaller 打包exe

pyinstaller -F install.py
pyinstaller -F jupyter.py

源码地址以及打包后的exe文件

源码地址路径

https://github.com/LBJWt/windows-jupyter

打包后的完整exe的文件下载地址

https://download.csdn.net/download/wagnteng/88245132文章来源地址https://www.toymoban.com/news/detail-668927.html

到了这里,关于windows一键启动jupyter的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python 3 中使用 pandas 和 Jupyter Notebook 进行数据分析和可视化

    简介 Python 的 pandas 包用于数据操作和分析,旨在让您以直观的方式处理带标签或关联数据。 pandas 包提供了电子表格功能,但由于您正在使用 Python,因此它比传统的图形电子表格程序要快得多且更高效。 在本教程中,我们将介绍如何设置一个大型数据集, pandas 的 groupby() 和

    2024年02月19日
    浏览(51)
  • 【jupyter 无法启动、运行没反应、不能重命名等问题】【Windows11账户名中文改英文】已解决

    安装Anaconda以后满怀期待的点击jupyter,却毫无反应;你是否打开jupyter后无法运行;你是否打开了jupyter连重命名文件都error,整个软件像僵尸一样,在研究几天以后都毫无办法! 前几天在网上翻江倒海的冲浪后,终于汲取各路精华为一身,找到了此次jupyter于我的病因所在: Win

    2024年02月04日
    浏览(71)
  • 用 Python 制作可视化 GUI 界面,一键实现自动分类管理文件!

    经常杂乱无章的文件夹会让我们找不到所想要的文件,因此小编特意制作了一个 可视化GUI界面 ,通过输入路径一键点击实现文件分门别类的归档。 不同的文件后缀归类为不同的类别 我们先罗列一下大致有几类文件,根据文件的后缀来设定,大致如下 上面所罗列出来的文件

    2024年01月19日
    浏览(49)
  • Windows系统中使用bat脚本启动git bash 并运行指定命令 - 懒人一键git更新

    双击\\\"autoGitPull.bat\\\",自动打开git bash,并cd到项目,逐个git pull,保留git bash窗口展示进度。 其中,start \\\"\\\" \\\"D:xx.exe\\\"的第一个\\\"\\\"是空运行,防止报错找不到命令-c 另外,屁股的\\\";bash\\\"是强制git bash别关窗口  

    2024年02月13日
    浏览(88)
  • Python气象信息可视化方法汇总

            气象数据可视化是一种将气象数据通过图形、图像等视觉化手段进行呈现,以便更好地理解、分析和预测天气状况的系统。它的发展历程可以追溯到20世纪70年代,随着计算机技术和大数据处理能力的不断提升,气象数据可视化系统也得到了迅速发展,成为气象领

    2024年01月23日
    浏览(57)
  • 彻底解决python中jupyter画图matplotlib的中文显示问题。Mac版本和Windows版本

    jupyter使用matplotlib进行画图会面临中文无法显示的问题,导致这样的原因是没有配置对应的中文字体,所以无法在画图时显示中文。 在Window中,采用以下代码 Mac中没有SimHei字体,所以Windows的代码无法使用,所以要先查询mac中支持的中文字体。以下代码可以查询mac中的所有字

    2024年02月09日
    浏览(72)
  • Python采集二手房源数据信息并做可视化展示

    前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 环境使用: Python 3.8 jupyter -- pip install jupyter notebook pycharm 也可以 模块使用: requests pip install requests 数据请求模块 parsel pip install parsel 数据解析模块 csv 内置模块 第三方模块安装: win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名

    2024年02月10日
    浏览(42)
  • Python招聘信息爬虫数据可视化分析大屏全屏系统

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩。 项目配有对应开发文档、

    2024年04月09日
    浏览(64)
  • 微博数据可视化分析:利用Python构建信息图表展示话题热度

    1. 引言 随着社交媒体的迅速发展,微博已成为人们交流观点、表达情感的重要平台之一。微博评论数据蕴含着丰富的信息,通过对这些数据进行分析和可视化,我们可以深入了解用户对特定话题的关注程度和情感倾向。本文将介绍如何利用Python进行微博评论数据的准备、探索

    2024年02月20日
    浏览(57)
  • Windows系统安装Anaconda、conda源换源、PyPI源换源、jupyter的kernel内核配置、jupyter自动补全配置、PyCharm的Python解释器配置

    在Python的学习,以及机器学习、深度学习的过程当中,大概率会用到Anaconda平台,为了使后来的学习工具更加高效,这里讲解Anaconda的安装以及进行换源 前言: 分为四大部分 1、anaconda安装 2、anaconda换源conda源 3、anaconda换源pypi源 4、jupyter的kernel配置 5、PyCharm的Python解释器选择

    2024年01月17日
    浏览(88)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包