GVKun编程网logo

有没有办法在无缝提交 py 文件而不是 ipynb 的同时一起使用 Git 和 Jupyter 笔记本?

2

如果您想了解有没有办法在无缝提交py文件而不是ipynb的同时一起使用Git和Jupyter笔记本?的相关知识,那么本文是一篇不可错过的文章,我们将为您提供关于Anacondajupyter笔记本“连

如果您想了解有没有办法在无缝提交 py 文件而不是 ipynb 的同时一起使用 Git 和 Jupyter 笔记本?的相关知识,那么本文是一篇不可错过的文章,我们将为您提供关于Anaconda jupyter 笔记本“连接失败”错误、from ipynb.fs.full. import * 和 from ipynb.fs.defs. import * 的区别、github 上的 Jupyter 笔记本:隐藏文件路径、git简单使用 git clone,git add,git commit,git pull,git push,git checkout的有价值的信息。

本文目录一览:

有没有办法在无缝提交 py 文件而不是 ipynb 的同时一起使用 Git 和 Jupyter 笔记本?

有没有办法在无缝提交 py 文件而不是 ipynb 的同时一起使用 Git 和 Jupyter 笔记本?

如何解决有没有办法在无缝提交 py 文件而不是 ipynb 的同时一起使用 Git 和 Jupyter 笔记本?

我喜欢我的 github 存储库包含 py 文件而不是 ipynb 文件,但我更喜欢在做项目时在 Jupyter 中工作。

我希望通过以下方式处理我的项目:

  • 从我正在处理的存储库中执行 git pull,其中包含一个 .py 文件,我已将其从我的 Jupyter 笔记本转换为 .py 文件
  • 在提交前用更改更新 Jupyter 笔记本
  • 将 notebook 下载为 py 文件,然后进行提交,git 忽略 notebook 文件

有没有办法在不手动将我的笔记本下载到 py 文件的情况下执行此“更新 py 文件”,将我下载到我的下载文件夹中的 py 文件,拖到我的工作目录中并手动替换现存的py 文件,然后才最终提交?只是看起来很不干净。

也许我应该在存储库中也有我的 ipynb,以便我可以确保在我拉出笔记本时是最新的并且与 py 文件完全相同?但我希望它对公众隐藏。

我只是希望能够像使用 py 文件一样无缝地工作,同时在 Jupyter 中进行实际工作,然后让公众将最终代码作为 py 文件,但我希望在没有大量手动拖放文件并替换旧文件。有点破坏了使用 git 的意义,因为我不再“优雅地”使用版本控制。

解决方法

是的。 jupytext 可以通过所谓的“paired notebooks”为您保持 .ipynb.py 文件同步,只要您在受支持的客户端之一(例如 Jupyter)中编辑这些文件笔记本或 JupyterLab。

或者,您可以配置 pre-commit git hook 以在每次提交之前运行从 .ipynb.py 的 jupytext 转换,这在 here 中有记录。简而言之,您需要安装 pre-commit - 例如与:

  1. pip install pre-commit

然后使用以下命令创建/修改 .pre-commit-config.yaml

  1. repos:
  2. - repo: https://github.com/mwouts/jupytext
  3. rev: v1.11.2 # (replace with the latest stable version)
  4. hooks:
  5. - id: jupytext
  6. args: [--from,ipynb,--to,"py"]

如果您不想依赖 jupytext,也可以使用内置的 jupyter 转换功能配置预提交钩子,但这将提供更少的配置选项

Anaconda jupyter 笔记本“连接失败”错误

Anaconda jupyter 笔记本“连接失败”错误

如何解决Anaconda jupyter 笔记本“连接失败”错误

我最近安装了 anaconda 并尝试运行 Jupyter Notebook。我使用的是 Windows 10。我打开了一个文件夹并运行了笔记本。每当我单击打开文件时,在将文件加载到新选项卡几秒钟后,我都会看到以下错误消息:

当我点击“确定”时,我也看到了:

我已经重新安装了 anaconda 三次以上,但这个问题仍然存在。我的互联网连接在这里不是问题,因为我可以在其他选项卡上运行 google。 以下是anaconda提示上的错误信息:\\


(base) C:\\Users\\aayus>cd c:\\MLcourse

(base) c:\\MLCourse>jupyter-notebook
[W 2021-05-25 12:49:15.300 LabApp] ''ip'' has moved from NotebookApp to ServerApp. This config will be passed to ServerApp. Be sure to update your config before our next release.
[W 2021-05-25 12:49:15.301 LabApp] ''ip'' has moved from NotebookApp to ServerApp. This config will be passed to ServerApp. Be sure to update your config before our next release.
[I 2021-05-25 12:49:15.317 LabApp] JupyterLab extension loaded from C:\\Users\\aayus\\anaconda3\\lib\\site-packages\\jupyterlab
[I 2021-05-25 12:49:15.317 LabApp] JupyterLab application directory is C:\\Users\\aayus\\anaconda3\\share\\jupyter\\lab
[I 12:49:15.322 NotebookApp] Serving notebooks from local directory: c:\\MLCourse
[I 12:49:15.323 NotebookApp] Jupyter Notebook 6.3.0 is running at:
[I 12:49:15.324 NotebookApp] http://localhost:8888/?token=a24e8ab3aa1629c4892dded671be9d26b149e7492d74a1e9
[I 12:49:15.324 NotebookApp]  or http://127.0.0.1:8888/?token=a24e8ab3aa1629c4892dded671be9d26b149e7492d74a1e9
[I 12:49:15.324 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 12:49:15.366 NotebookApp]

    To access the notebook,open this file in a browser:
        file:///C:/Users/aayus/AppData/Roaming/jupyter/runtime/nbserver-21792-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/?token=a24e8ab3aa1629c4892dded671be9d26b149e7492d74a1e9
     or http://127.0.0.1:8888/?token=a24e8ab3aa1629c4892dded671be9d26b149e7492d74a1e9
[W 12:49:27.828 NotebookApp] Notebook ConditionalProbabilityExercise.ipynb is not trusted
Bad address (C:\\ci\\zeromq_1602704446950\\work\\src\\epoll.cpp:100)
[I 12:49:28.339 NotebookApp] Kernel started: 4ed3dc80-f87f-41f4-9981-320da9710f87,name: python3
Bad address (C:\\ci\\zeromq_1602704446950\\work\\src\\epoll.cpp:100)
Bad address (C:\\ci\\zeromq_1602704446950\\work\\src\\epoll.cpp:100)

(base) c:\\MLCourse>[IPKernelApp] WARNING | Parent appears to have exited,shutting down.

有人可以帮忙吗?我是一个公平的初学者,找不到答案。 提前致谢

解决方法

在重新安装 Anaconda 并在此处找到解决方案后,我遇到了同样的错误:https://github.com/jupyter/notebook/issues/4909

我激活了我有问题的环境并安装了以下内容:

  • conda install -c conda-forge pywin32
  • conda install -c anaconda jupyter_client
  • conda install -c conda-forge jupyter_core

像魅力一样工作!

from ipynb.fs.full.<notebook_name> import * 和 from ipynb.fs.defs.<notebook_name> import * 的区别

from ipynb.fs.full. import * 和 from ipynb.fs.defs. import * 的区别

如何解决from ipynb.fs.full.<notebook_name> import * 和 from ipynb.fs.defs.<notebook_name> import * 的区别

我正在尝试将 ipynb 文件导入另一个文件,但它仅在导入时使用 defs 而不是 full 时才有效。 这是我的两个 ipynb 文件:-

my_LeNet5.ipynb

  1. from tensorflow.keras.models import Model
  2. from tensorflow.keras.layers import Input,Conv2D,AveragePooling2D,Flatten,Dense
  3. def my_LeNet5_function(input_shape=(28,28,1)):
  4. from tensorflow.keras.models import Model
  5. from tensorflow.keras.layers import Input,Dense
  6. input_unit = Input(shape=input_shape)
  7. X = Conv2D(filters=6,kernel_size=(5,5),strides=1,padding=''valid'')(input_unit)
  8. X = AveragePooling2D(pool_size=(2,2),strides=2,padding=''valid'')(X)
  9. X = Conv2D(filters=16,padding=''valid'')(X)
  10. X = AveragePooling2D(pool_size=(2,padding=''valid'')(X)
  11. X = Flatten()(X)
  12. X = Dense(120,activation=''relu'')(X)
  13. X = Dense(84,activation=''relu'')(X)
  14. X = Dense(10,activation=''softmax'')(X)
  15. LeNet_model = Model(inputs=input_unit,outputs=X)
  16. # Let''s compile it
  17. LeNet_model.compile(optimizer=''adam'',loss=''sparse_categorical_crossentropy'',metrics=[''accuracy''])
  18. return LeNet_model

我从另一个文件调用它:

  1. from ipynb.fs.full.my_LeNet5 import*
  2. T = my_LeNet5_function((28,1))

然后我收到以下错误:

  1. NameError: name ''Input'' is not defined

my_LeNet5.ipynb 文件中,我在函数的外部和内部都保留了 Input 的导入,以确保这不会导致错误。

在这里,当我使用 defs 而不是 full 时,我没有出错,有人能告诉我这背后的原因吗?

注意:- 当我从 my_LeNet5.ipynb 文件本身调用函数时,我也没有收到错误,

  1. if __name__==''__main__'':
  2. model = my_LeNet5_function(input_shape=(28,1))
  3. model.summary()

github 上的 Jupyter 笔记本:隐藏文件路径

github 上的 Jupyter 笔记本:隐藏文件路径

如何解决github 上的 Jupyter 笔记本:隐藏文件路径?

我不认为这会是一个大问题,因为我认为许多数据科学家都有这个问题,但我没有通过谷歌搜索我的问题找到解决方案: 我有一个 Jupyter Notebook (JN),我为它创建了一个 Github 存储库。在 JN 中我定义了一个路径变量,如下所示:

data = ''folder/subfolder/datafile.csv''

如何避免显示此文件路径?有没有简单的方法? 也许我没有用正确的术语在谷歌上搜索?

非常感谢每一个帮助!

解决方法

这取决于您的操作系统。此 link 显示了如何在 Windows 上执行此操作。此 link 展示了如何在 Mac 上进行设置。

那么您的代码将如下所示:

import os
path = os.environ.get(''PATH'')

git简单使用 git clone,git add,git commit,git pull,git push,git checkout

git简单使用 git clone,git add,git commit,git pull,git push,git checkout

日常经常使用的命令:
git clone
git add
git commit
git pull
git push
git checkout
注:(此博客需要有一定git基础才能完美食用,关于git的详细使用可参考:https://blog.csdn.net/bjbz_cxy/article/details/116703787)

基本概念

git 有一个工作区,暂存区,本地仓库,远程仓库的概念

工作区就是我们自己电脑的文件夹
大概流程:
1.从远程仓库中克隆代码到工作区
2.在工作区修改代码
3.将代码提交到暂存区
4.提交到本地仓库。本地仓库中保存修改的各个历史版本
5.确认代码修改完成后,将所有提交到本地仓库的已修改的代码,push到远程仓库

开始使用

gitee中已有一个仓库,地址:https://gitee.com/guo3118783960/Test20200809.git
将它拉取到本地:
(1)新建一个空白文件夹
(2)git clone +仓库地址


注:1. git clone会自动帮我们初始化本地仓库
2.可以使用git clone -b 分支名 仓库地址来拉取指定分支
(3)修改代码
删除README.en.md,将README.md文件内容修改为“test”,git status查看文件状态,修改了还未提交是红色未提交时为红色


(4)git add+(文件名/文件夹) 使用文件名提交单个文件到暂存区,使用文件夹提交文件夹下所有文件


提交到暂存区后为绿色
(5) git commit


-m 可以添加注释,提交注释在多人协作开发中是非常重要的,可以让别人知道你对代码加了哪些功能,修改了哪些代码提交至本地仓库
第一次push代码到远程仓库,还需要先关联远程仓库
gitee将本地仓库关联到远程仓库
1. 首先拿到仓库的ssh地址(试了一下HTTPS地址不知道怎么会报错,百度了一下发现SSH可以)


2. 关联:
git remote add origin git@gitee.com:guo3118783960/Test20200809.git

(6)推送到远程仓库master分支:git push origin master

其他使用

  1. 查看分支 git branch

  2. 新建分支 git branch 分支名

  3. 切换分支 git checkout 分支名

    4. 将本地分支推送到远程仓库分支 git push origin 分支名


冲突:

(1)第一种情况:在两个分支上分别修改同一文件,git add,git commit -m提交到本地仓库,再git merge 分支名的时候产生冲突。比如master分支里一个文件README.md文件内容:

test
AAAAAAAAAAAAAAAAA

guojinren分支里一个文件README.md文件内容:

testBBBBBBBBBBBBBBBBBBB:wq

两个分支都git add,git commit -m到本地仓库里,这时master分支要合并guojinren分支:git merge guojinren
产生冲突


解决冲突:

重新git add,git commit -m,完美合并!

(2)第二种情况: 两个人都提交代码到master分支,但是后面提交的那个人push不上,得先pull远程仓库master的内容,但是pull时如果远程仓库的master分支有文件和自己仓库的文件冲突,就会产生冲突
此时需要后提交的人先pull远程仓库master的代码,解决冲突,再重新push才能成功

关于有没有办法在无缝提交 py 文件而不是 ipynb 的同时一起使用 Git 和 Jupyter 笔记本?的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Anaconda jupyter 笔记本“连接失败”错误、from ipynb.fs.full. import * 和 from ipynb.fs.defs. import * 的区别、github 上的 Jupyter 笔记本:隐藏文件路径、git简单使用 git clone,git add,git commit,git pull,git push,git checkout的相关知识,请在本站寻找。

本文标签: