当前位置: 首页 > 知识库问答 >
问题:

是否有可能将我自己的模块导入到google-colborative笔记本中?

欧博简
2023-03-14

我正在使用google colaboratory教授python数据科学,为了让笔记本上只剩下学生们的具体课程,我想导入一些我们编写的基本方法,给他们一个大笔记本,上面预先填充了这些方法,以防止任何干扰。

如何导入这些方法而不在pip上发布它们?。google colaborary pip可以从github安装吗?

对我们来说,最好的选择是能够将代码保存在驱动器中,并像处理csv文件一样将模块上载到colab空间,并使用标准导入。这可能吗?

共有2个答案

洪弘壮
2023-03-14

我有一个肮脏的把戏可以做到这一点。把我所有的代码放在一个包里,我可以做到

!wget mysite/mypackage.py
from mypackage import *

同样,如果mypackage有依赖项,我可以创建一个zipfile和!解压缩它

裴泰平
2023-03-14

如何导入这些方法而不在pip上发布它们?。google colaborary pip可以从github安装吗?

是的,您可以通过在collab中运行bash命令(通过在命令后附加)!从github进行pip安装。例如:

!pip install git+<github_link>

对我们来说,最好的选择是能够将代码保存在驱动器中,并像处理csv文件一样将模块上载到colab空间,并使用标准导入。这可能吗?

这有点棘手,但可以通过使用google drive ocamlfuse将google drive安装到google collab实例上来完成。

您需要安装ocamlfuse并使用以下方式获得您的google帐户的权限:

!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}

然后使用以下方法安装google drive:

!mkdir -p drive
!google-drive-ocamlfuse drive

之后,您可以使用以下方法检查装载是否成功:

!ls drive

它应该显示您的谷歌驱动器中的所有文件

 类似资料:
  • 在google驱动器中,假设有一个jupyter笔记本和一个python文件my\u模块。py已复制到同一目录中。使用google colaboratory运行时,如何从笔记本导入my\u模块? 当笔记本在本地运行时,就可以正常工作。

  • 我想将一些通用功能外包给一个模块中的多个笔记本电脑(也用于测试目的)。当前目录结构如下所示 在中,有一个简单的函数 然而,当我想导入和使用在通过使用(我认为有意义的) 我得到一个。我做错了什么?我正在使用Python 3.9。

  • 我有以下包(和工作目录): 在我有: 如果我尝试将MyPackage导入我的笔记本: 我将获取< code>ModuleNotFoundError:没有名为“module1”的模块。但是,如果我在笔记本之外执行脚本,导入就可以正常工作:如果我在同一个目录中创建< code>test.py并在笔记本中执行相同的操作,导入就可以正常工作。如果我在< code>__init__中使用完全限定名,它将在笔

  • 我已经编写了一个模块(一个文件文件,位于文件夹中)。目前,我正在处理文件,该文件位于文件夹中。我已经在PyCharm中使用file-open打开了这个文件夹(因此我假设它是一个PyCharm项目)。 在ProjectView(CMD-7)中,我可以看到我的项目(红色),在“外部库”下,我可以看到。在cool_script.py中,我可以编写 这在我看来很奇怪,因为 A)在终端(OS 10.10.2

  • 问题内容: 我在python中有自己的软件包,并且经常使用。我应该在哪里放置软件包,以便在不使用PYTHONPATH或sys.path的情况下将其导入,这是什么最优雅或传统的目录? 例如,网站包呢? 。 在python中复制并粘贴软件包是否很常见? 问题答案: 我通常将要准备导入的内容放在用户站点目录中: 要显示适合您平台的目录,可以使用 编辑:创建后将显示在其中:

  • 我正在尝试将angular2模块导入到我的项目中。 这个模块将帮助我使用json rpc从我们的ERP系统ODOO中获取数据。 下面是模块的链接:https://www.npmjs.com/package/angular2-odoo-jsonrpc。 到目前为止我所做的是:从“@Angular/core”导入{Component};从“angular2-odoo-jsonrpc”导入{OdooRP