在pycharm 2023.2.1中运行由R语言编写的ipynb文件

在pycharm 2023.2.1中运行由R语言编写的ipynb文件

背景与目标:

项目中包含由R语言编写的ipynb文件,希望能在pycharm中运行该ipynb文件。

最终实现情况:

未能直接在pycharm中运行该ipynb文件,但是替代的实现方法有:

①能够在网页端运行由R语言编写的ipynb文件。

②能够将该ipynb文件中的内容复制到一个R语言文件(以.R为后缀)中,然后在pycharm中直接运行该R语言文件。

一、安装jupyter

在pycharm中打开该项目,配置好项目的python interpreter,即python环境。

1、在该python环境中安装jupyter:

pip install jupyter

2、生成jupyter的配置文件jupyter_notebook_config.py

在anaconda的终端命令行中输入:

jupyter notebook --generate-config

即可生成配置文件。

如果是root用户,执行命令需要加上--allow-root选项,即:

jupyter notebook --generate-config --allow-root

3、生成密码

在打开jupyter notebook时需要使用密码。

在anaconda的终端命令行中输入:

jupyter notebook password

出现如下提示,在xxxx位置输入个人设置的密码即可:

Enter password: xxxx
Verify password: xxxx
[NotebookPasswordApp] Wrote hashed password to C:\Users\PC\...\jupyter_notebook_config.json

执行以上命令后,可以在C:\Users\PC\...\jupyter_notebook_config.json看到与输入密码对应的哈希字符串:

{
	"NotebookApp": {
		"password": "xxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
	}
}

4、将哈希密码添加到配置文件jupyter_notebook_config.py

在配置文件jupyter_notebook_config.py中添加如下代码:

# ip设置为*
c.NotebookApp.ip = '*'
# 密码设置为sha1
c.NotebookApp.password = u'sha1:xxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' # 'sha1:'后面的字符串即为jupyter_notebook_config.json中的哈希字符串
# 浏览器设置不打开
c.NotebookApp.open_browser = False
# 设置固定的接口
c.NotebookApp.port = 8889

另外,如果需要指定启动jupyter后jupyter notebook的工作目录,可以在此配置文件中添加如下代码:

# 设置工作目录
c.NotebookApp.notebook_dir = 'G:\....'

如果不指定启动jupyter后jupyter notebook的工作目录,在anaconda终端命令行启动jupyter时所在的目录路径即为启动jupyter后jupyter notebook的工作目录。

参考:

远程jupyter+pycharm配置 (一)之安装与使用技巧

配置jupyter notebook-----更改工作目录

二、启动jupyter

2.1 启动jupyter服务器

在anacodna终端命令行中激活安装了jupyter的虚拟环境,然后使用下方命令启动jupyter:

jupyter notebook

运行成功时,终端出现类似如下内容的响应:

[I 16:52:50.678 NotebookApp] Serving notebooks from local directory: G:\....
[I 16:52:50.678 NotebookApp] Jupyter Notebook 6.5.4 is running at:
[I 16:52:50.679 NotebookApp] http://....:8889/
[I 16:52:50.679 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

其中,G:\....指在步骤一中指定的工作目录路径(如果步骤一中没有指定,则会指向启动jupyter时所在的目录路径),http://....:8889/指用浏览器查看jupyter notebook的网址,将此网址复制到浏览器后输入密码(在步骤一中个人设置的密码,不是哈希字符串),即可看到工作目录路径下的文件列表。

2.2 在网页端运行ipynb文件

打开工作目录路径中的某个自己创建的ipynb文件,如果刚打开文件时,界面右上角显示“内核就绪“(一段时间后消失)、有下图所示的标志且文件中单元格的代码可以正常运行,则说明在网页中可以正常使用jupyter notebook运行ipynb文件。
在这里插入图片描述

若在网页端对ipynb文件进行了修改,保存后,pycharm中查看该文件可以发现该文件已同步修改。

环境信息:python==3.11.4, jupyter=1.0.0, ipykernel=6.19.2, tornado=6.4.1

2.3 在pycharm窗口直接运行ipynb文件?[未成功]

需要先复制网址到浏览器、在浏览器中运行ipynb文件不如在pycharm窗口中直接运行ipynb文件方便。但是目前试了很多方法,都无法在pycharm窗口中直接运行jupyter notebook,只能在网页端运行。

试过的方法包括直接使用managed server配置jupyter server,都遇到报错,未能解决。

2.3.1 直接使用managed server

若直接使用managed server,无法连接jupyter服务器,会出现如下报错信息,不懂是什么意思。

Connect to DESKTOP-xxxx:8889 [DESKTOP-xxxx/172.27.48.1, DESKTOP-xxxx/192.168.3.13, DESKTOP-xxxx/192.168.3.10, DESKTOP-xxxx/fe80:0:0:0:ea0f:7ecd:6717:1fb9%42, DESKTOP-xxxx/fe80:0:0:0:8fbf:8ab7:7778:7036%13, DESKTOP-xxxx/fe80:0:0:0:e19a:6625:31bc:f80c%12, DESKTOP-xxxx/fd62:fe1e:c324:8700:d01e:faeb:af2:c4a2, DESKTOP-xxxx/fd62:fe1e:c324:8700:7d0:ca8f:4bde:9c9a] failed: Connection refused: connect
2.3.2 配置jupyter server

参考远程jupyter+pycharm配置 (一)之安装与使用技巧,在配置jupyter servers时,不使用managed server、使用configured server,尝试输入的Jupyter Server URL有:

  • http://…:8889/(在2.1中得到)

  • http://…:8889?token=(”…“的内容写成了localhost或者127.0.01)

  • http://…:8889?token=xxxx(”…“的内容写成了localhost或者127.0.01)

  • http://…:8889/?token=xxxx(”…“的内容写成了localhost或者127.0.01)

点击Apply按钮后均得到Jupyter Server URL is malformed(格式不正确)的报错信息。文章Pycharm2023.1连接远程jupyter notebook遇到的问题的作者建议不要钻牛角尖。

经过多次尝试后,发现不管填写的Jupyter Server URL是什么,如果jupyter server还没有启动,这些URL都会被认为是”malformed“的。先在anaconda终端命令行中启动jupyter,再填写这个URL(写成http://....:8889(最后一个"/"可有可无;这个URL需要手动输入密码)或者http://....:8889?token=xxxx(这个URL不需要手动输入密码)),就不会再出现格式不正确的报错信息。

但是,配置完成jupyter server后,仍会弹出如下报错信息,暂时没找到解决方法。

Error with connection to Jupyter: server responded with 403 on Request(method=GET, uri=http://DESKTOP-IC2DEU6:8889/api/kernelspecs/, headers=[], body=null, redirectLimit=10, context=Context(mayInteractUi=true)). [200] was expected.

网上提到的解决方法有:

  • 使用其他版本的Pycharm

  • 修改tornado版本为5.1.1(对应的python版本也要修改,与5.1.1的tornado适配的python版本是3.7)(参考文章Pycharm无法使用jupyter

    创建一个新的python虚拟环境尝试后无效。默认安装的tornado版本>6,此时只降低tornado版本甚至会出现在网页端无法连接内核的问题。

    与5.1.1的tornado冲突的包有:terminado、notebook、jupyter-server、jupyter-client、ipykernal。感觉需要多个包版本协调才有可能克服这个问题,但是追溯起来有些复杂,暂时作罢。

    在这里插入图片描述

  • 修改tornado版本为4.5.3(问题同上)

  • 修改ipykernel版本为4.5.2(问题同上)

三、安装R和R内核

3.1 安装R

安装R的过程可参考文章如何在 Pycharm 中高效使用 R 语言 (图文详解)

3.2 安装IRkernel

安装R后,打开R console,R console窗口如下图所示。
在这里插入图片描述
1、在R console中输入下方命令,安装IRkernel:

install.packages('IRkernel')

等待一段时间即安装完成。最终提示下载的二进制程序包在C:\Users\PC\AppData\Local\Temp\RtmpMNCSMh\downloaded_packages

2、在R console中输入下方命令,在当前R安装中注册kernel:

IRkernel::installspec()

执行此命令后,会安装一个名为ir的内核。

3、在R console中输入下方命令,指定kernel安装范围为全系统(而不仅是当前用户):

IRkernel::installspec(user = FALSE)

4、在anaconda终端命令行中(启动任一环境均可)使用下方命令检查当前jupyter可使用的内核,检查内核安装是否成功:

jupyter kernelspec list

如果列出的Available kernels中出现ir(如果先前使用过python,列表中一般还会有python3)即说明R内核安装成功。

此时启动jupyter,在网页端打开工作目录中的某个R语言编写的ipynb文件,如果默认使用的还是python3的内核(看界面右上角可知使用的内核),可以点击"kernel"->”Change kernel“->"R"更换内核为R内核。

参考:juypyter notebook安装 R核(IRkernel)

四、在pycharm中运行R语言文件

4.1 安装R相关的插件

在Pycharm中点击"Files"->“Settings”->“Plugins”->“Marketplace”,在搜索栏中搜索安装插件“R language for Intellij”。
在这里插入图片描述
等待一段时间后即可安装完成。

4.2 编辑R的环境变量

在windows中搜索环境变量,点击“环境变量”,选中系统变量的中“Path”,点击“编辑” ->“新建” ,将R安装的路径(具体到bin文件夹,如G:\Software\R\R-4.4.1\bin)添加进去。

参考:pycharm实现R语言运行环境安装配置的实现步骤

4.3 在Pycharm中配置R解释器

在Pycharm中点击"Files"->“Settings”->“Project: xxxx”->“R Settings”,在Project R Interpreter处添加(Add)R解释器,选择4.2中配置的R安装路径下的R.exe,即G:\Software\R\R-4.4.1\bin\R.exe

此时出现提示:Unsupported R version: '4.4.1'. Do you want to continue?,点击继续,后续发现并不影响使用。

之后就可以在Pycharm中运行R语言程序了(虽然同样不能直接在Pycharm窗口中运行由R语言编写的ipynb文件,但是可以将其中的内容复制到R语言文件中运行)。

<think>嗯,用户想知道如何在PyCharm 2023.1.3中运行Python代码。首先,我得回忆一下PyCharm的基本操作流程。PyCharm作为一款流行的IDE,运行代码通常有几种方法。可能需要先确保项目已经正确设置,解释器也配置好了。 然后,用户可能遇到的问题可能包括如何创建新文件,如何选择运行配置,或者如何调试。比如,运行代码的常见方式是通过右键菜单运行,或者使用快捷键。不过不同版本的PyCharm界面可能略有不同,但2023.1.3应该变化不大。 另外,用户提到的引用中有提到NULL的使用,比如在SQL和C语言中的例子。虽然用户的问题是关于PyCharm运行Python代码,但可能在代码中会遇到None(Python中的NULL)的情况,但用户的问题核心是运行方法,暂时不需要深入讨论None的处理,除非在运行时出现相关错误。 需要分步骤说明:创建项目、创建文件编写代码、运行。可能还需要提及运行配置的设置,比如选择正确的Python解释器。如果有错误,可能需要检查解释器是否正确安装,或者路径设置。 还要注意PyCharm中的运行按钮的位置,可能在右上角,或者通过右键菜单。另外,调试模式和普通运行的区别可能也需要简单说明。用户可能还关心如何传递命令行参数,或者如何查看输出结果。 最后,生成相关问题时要考虑用户可能的后续疑问,比如调试技巧、配置虚拟环境、处理依赖库等。</think>### 在PyCharm 2023.1.3中运行Python代码的步骤 1. **创建/打开项目** - 启动PyCharm后选择`New Project`,设置项目路径和Python解释器(需提前安装Python环境)。 - 若已有项目,选择`Open`并导航到项目目录。 2. **创建Python文件** - 右键点击项目目录 → `New` → `Python File`,输入文件名(如`main.py`)。 3. **编写代码** - 在文件中输入代码,例如: ```python print("Hello, PyCharm!") ``` 4. **运行代码** - **方法1**:右键点击编辑器空白处 → `Run '文件名'`(快捷键`Ctrl+Shift+F10`)。 - **方法2**:点击右上角的运行按钮▶️(需确保已选择正确的运行配置)。 - **方法3**:通过菜单栏`Run` → `Run...`选择要执行的脚本[^3]。 5. **查看输出** - 运行结果会显示在底部的`Run`工具窗口,包含程序输出和错误信息。 6. **调试代码** - 在代码行号左侧单击设置断点 → 右键选择`Debug '文件名'`或点击🐞图标 → 使用调试控制台(步进、变量监控等)。 --- ### 常见问题排查 - **解释器未配置**:若报错`No Python interpreter`,需通过`File` → `Settings` → `Project:项目名` → `Python Interpreter`添加Python路径。 - **依赖缺失**:若导入库报错,可通过PyCharm终端使用`pip install 包名`安装。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值