Gibt es eine Möglichkeit, meinen Code in .py-Dateien hochzuladen und in Colab-Codezellen zu importieren?
Die andere Möglichkeit, die ich gefunden habe, besteht darin, ein lokales Jupyter-Notizbuch zu erstellen und es dann in Colab hochzuladen. Ist dies die einzige Möglichkeit?
jupyter-notebook
ipython
google-colaboratory
colab
Reham M Samir
quelle
quelle
Falls jemand anderes interessiert ist, wie man Dateien / Pakete von gdrive in ein Google Colab importiert. Das folgende Verfahren hat bei mir funktioniert:
1) Hängen Sie Ihr Google Drive in Google Colab ein:
from google.colab import drive drive.mount('/content/gdrive/')
2) Hängen Sie das Verzeichnis mit sys an Ihren Python-Pfad an:
import sys sys.path.append('/content/gdrive/mypythondirectory')
Jetzt sollten Sie in der Lage sein, Sachen aus diesem Verzeichnis zu importieren!
quelle
%load filename.py
.quelle
%load repo_name/filename.py
Basierend auf der Antwort von Korakot Chaovavanich habe ich die folgende Funktion erstellt, um alle Dateien herunterzuladen, die in einer Colab-Instanz benötigt werden.
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()
Sie können dann die übliche 'import'-Anweisung verwenden, um Ihre lokalen Dateien in Colab zu importieren. ich hoffe das hilft
quelle
Ich stehe vor dem gleichen Problem. Ich schließlich entscheiden über viele andere Methoden Nach zahlreichen Beiträgen zu lesen, würde Ich mag die folgende Lösung einzuführen (zB Verwendung
urllib
,httpimport
Klon von GitHub, verpacken die Module für die Installation, etc). Die Lösung verwendet die Google Drive API ( offizielles Dokument ) für die ordnungsgemäße Autorisierung.Vorteile:
Schritte:
id=
" - der von Google Drive zugewiesenen Datei-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 :)
Randnotiz
Zu guter Letzt sollte ich den ursprünglichen Mitwirkenden dieses Ansatzes anerkennen. Dieser Beitrag enthält möglicherweise einen Tippfehler im Code, da er beim Ausprobieren einen Fehler auslöste. Nach mehr Lesen und Fehlerbehebung funktionierten meine obigen Codefragmente (ab heute unter Colab VM OS: Linux 4.14.79).
quelle
Versuchen Sie Folgendes:
Ich habe ein Paket namens plant_seedlings. Das Paket wird in Google Drive gespeichert. Was ich tun sollte, ist dieses Paket in /usr/local/lib/python3.6/dist-packages/ zu kopieren.
!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
quelle
Mount Drive
Schaltfläche von Google Drive klicken . Dann wird der Laufwerksordner unter dem Inhaltsordner angezeigt.Wir können das tun.
import sys import os py_file_location = "/content/drive/My Drive" sys.path.append(os.path.abspath(py_file_location))
Jetzt können Sie es als Modul in ein Notizbuch für diesen Speicherort importieren.
import whatever
quelle
Sie können diese .py-Dateien auf Google Drive hochladen und Colab erlauben, sie zu verwenden:
Alle Ihre Dateien und Ordner im Stammordner befinden sich in
drive
.quelle
Es ist Juni 2019. Stellen Sie sicher, dass im Python-Paket
__init__.py
alle zugehörigen Dateien der Reihe nach importiert werden. Schieben Sie den Code auf Git oder verwenden Sie diesen Code .zum Beispiel
from .Boxes import * from .Circles import * from .Rectangles import * ...
Verwenden Sie den Paketnamen in der
__init__.py
Datei nicht zum Importieren der Dateien.in Google colab,
quelle
Ein einfacher Weg ist
quelle