Чи є спосіб завантажити мій код у файли .py та імпортувати їх у комірки коду colab?
Інший спосіб, який я знайшов, - це створити локальний блокнот Jupyter, а потім завантажити його на Colab, чи це єдиний спосіб?
Чи є спосіб завантажити мій код у файли .py та імпортувати їх у комірки коду colab?
Інший спосіб, який я знайшов, - це створити локальний блокнот Jupyter, а потім завантажити його на Colab, чи це єдиний спосіб?
Відповіді:
Спочатку його можна зберегти, а потім імпортувати.
from google.colab import files
src = list(files.upload().values())[0]
open('mylib.py','wb').write(src)
import mylib
Оновлення (листопад 2018 р.): Тепер ви можете легко завантажувати до
Оновлення (жовтень 2019): Якщо ви не хочете завантажувати кожен раз, ви можете зберігати його в S3 і монтувати на Colab, як показано в цій суті
Оновлення (квіт. 2020 р.): Тепер ви можете автоматично встановити свій Google Drive. Просто скопіювати його з Диска, ніж завантажити.
mylib.py
на своєму ДискуFiles
видMount Drive
тодіConnect to Google Drive
!cp drive/MyDrive/mylib.py .
import mylib
Якщо комусь ще цікаво дізнатись, як імпортувати файли / пакети з gdrive всередину Google Colab. Для мене спрацювала наступна процедура:
1) Встановіть свій google-диск в Google colab:
from google.colab import drive
drive.mount('/content/gdrive/')
2) Додайте каталог до шляху до python за допомогою sys:
import sys
sys.path.append('/content/gdrive/mypythondirectory')
Тепер ви зможете імпортувати матеріали з цього каталогу!
%load filename.py
.%load repo_name/filename.py
На основі відповіді Коракота Чаоваваніча я створив функцію нижче для завантаження всіх файлів, необхідних в екземплярі 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()
Потім ви можете використовувати звичайний оператор "import" для імпорту локальних файлів у Colab. Сподіваюся, це допоможе
Ми можемо це зробити.
import sys
import os
py_file_location = "/content/drive/My Drive"
sys.path.append(os.path.abspath(py_file_location))
Тепер ви можете імпортувати його як модуль у блокноті для цього місця.
import whatever
Я стикаюся з тією ж проблемою. Після прочитання численних постів, я хотів би представити наступне рішення , яке я нарешті вибрав над багатьма іншими способами (наприклад , використання urllib
, httpimport
, клон з GitHub, пакет модулів для установки і т.д.). Рішення використовує API Google Drive ( офіційний документ ) для належної авторизації.
id=
" - ідентифікатор файлу, призначений Google Drive!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: Linux 4.14.79).
Спробуйте так:
У мене є пакет із назвою plant_seedlings. Пакет зберігається на google drive. Що я повинен зробити, це скопіювати цей пакет у /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
.
Це червень 2019 року. Переконайтесь, що у пакунку Python __init__.py
усі пов’язані файли імпортовані в порядку. Вставте код у Git або використовуйте цей код .
наприклад,
from .Boxes import *
from .Circles import *
from .Rectangles import *
...
Не використовуйте ім'я пакета у __init__.py
файлі для імпорту файлів.
в Google colab,
! rm -rf SorghumHeadDetection
! git clone https://github.com/user/amazing-repo-name/
Це простий спосіб