有什么方法可以将我的代码上传到.py文件中,并将它们导入到colab代码单元中?
我发现的另一种方法是创建本地Jupyter笔记本,然后将其上传到Colab,这是唯一的方法吗?
有什么方法可以将我的代码上传到.py文件中,并将它们导入到colab代码单元中?
我发现的另一种方法是创建本地Jupyter笔记本,然后将其上传到Colab,这是唯一的方法吗?
Answers:
您可以先保存,然后再导入。
from google.colab import files
src = list(files.upload().values())[0]
open('mylib.py','wb').write(src)
import mylib
更新(2018年11月):现在,您可以通过以下方式轻松上传
更新(2019年10月):如果不想每次都上传,则可以将其存储在S3中,然后将其安装到Colab,如本要点所示。
更新(2020年4月):现在您可以自动安装Google云端硬盘了。仅从云端硬盘复制它比上传它容易。
mylib.py
在云端硬碟中Files
视图Mount Drive
然后点击Connect to Google Drive
!cp "drive/My Drive/mylib.py" .
import mylib
%load filename.py
。%load repo_name/filename.py
根据Korakot Chaovavanich的回答,我创建了以下函数,用于下载Colab实例中所需的所有文件。
from google.colab import files
def getLocalFiles():
_files = files.upload()
if len(_files) >0:
for k,v in _files.items():
open(k,'wb').write(v)
getLocalFiles()
然后,您可以使用通常的“导入”语句将您的本地文件导入Colab。我希望这有帮助
我面临着同样的问题。阅读了大量文章后,我想介绍以下解决方案,我最终选择了许多其他方法(例如use urllib
,httpimport
从GitHub克隆,打包要安装的模块等)。该解决方案利用Google Drive API(官方文档)进行适当的授权。
id=
”之后复制部分-Google云端硬盘分配的文件ID!pip install pydrive # Package to use Google Drive API - not installed in Colab VM by default
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth # Other necessary packages
from oauth2client.client import GoogleCredentials
auth.authenticate_user() # Follow prompt in the authorization process
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
your_module = drive.CreateFile({"id": "your_module_file_id"}) # "your_module_file_id" is the part after "id=" in the shareable link
your_module.GetContentFile("your_module_file_name.py") # Save the .py module file to Colab VM
import your_module_file_name # Ready to import. Don't include".py" part, of course :)
最后但并非最不重要的一点是,我应该赞扬这种方法的原始贡献者。该帖子可能在代码中有错别字,因为我尝试时触发了错误。经过更多的阅读和故障排除之后,我的上述代码片段开始运行(截至今天,在Colab VM OS:Linux 4.14.79上)。
尝试这种方式:
我有一个名为plant_seedlings的软件包。该软件包存储在Google驱动器中。我应该做的是将此包复制到/usr/local/lib/python3.6/dist-packages/中。
!cp /content/drive/ai/plant_seedlings.tar.gz /usr/local/lib/python3.6/dist-packages/
!cd /usr/local/lib/python3.6/dist-packages/ && tar -xzf plant_seedlings.tar.gz
!cd /content
!python -m plant_seedlings
Mount Drive
Google Drive的按钮。然后,驱动器文件夹将出现在内容文件夹下。
您可以将这些.py文件上传到Google驱动器,并允许Colab对其使用:
!mkdir -p drive
!google-drive-ocamlfuse drive
根文件夹中的所有文件和文件夹都位于中drive
。
一个简单的方法是