ModuleNotFoundError ... Нет модуля с именем Google - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь связать свое Google App с облачным хранилищем, чтобы я мог загружать и хранить изображения. Локально сработало.

Теперь я получаю эту ошибку: (showrooom - это имя моего приложения, а create - страница, содержащая форму загрузки)

ModuleNotFoundError at /showroom/create/
No module named 'google'

Последокументацию и предыдущие ответы, я использовал PIP для установки google-cloud, google-cloud-vision и google-cloud-storage.

Запуск pip теперь показывает, что google-cloud установлено в моей виртуальной среде.

(torque) C:\code\torque>pip install google-cloud
Requirement already satisfied: google-cloud in c:\users\user\envs\torque\lib\site-packages (0.34.0)```

Но проверяя в Python (все еще в каталоге и virtualenv), он ничего не возвращает:

>>> import google
>>> print(google.__file__)
None

Может кто-нибудь указать мне правильное направление?

Есть много интересногоошибок, поэтому я выложу полный трассировку (крутящий момент это название моего приложения).


Request Method: POST
Request URL: https://torque-256805.appspot.com/showroom/create/

Django Version: 2.2.5
Python Version: 3.7.4
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'showroom',
 'django.contrib.humanize',
 'django.contrib.sites',
 'crispy_forms',
 'allauth',
 'allauth.account']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']



Traceback:

File "/env/lib/python3.7/site-packages/django/core/handlers/exception.py" in inner
  34.             response = get_response(request)

File "/env/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
  115.                 response = self.process_exception_by_middleware(e, request)

File "/env/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
  113.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/env/lib/python3.7/site-packages/django/views/generic/base.py" in view
  71.             return self.dispatch(request, *args, **kwargs)

File "/env/lib/python3.7/site-packages/django/contrib/auth/mixins.py" in dispatch
  52.         return super().dispatch(request, *args, **kwargs)

File "/env/lib/python3.7/site-packages/django/views/generic/base.py" in dispatch
  97.         return handler(request, *args, **kwargs)

File "/env/lib/python3.7/site-packages/django/views/generic/edit.py" in post
  172.         return super().post(request, *args, **kwargs)

File "/env/lib/python3.7/site-packages/django/views/generic/edit.py" in post
  142.             return self.form_valid(form)

File "/srv/showroom/views.py" in form_valid
  98.                 images.save()

File "/env/lib/python3.7/site-packages/django/forms/models.py" in save
  669.         return self.save_existing_objects(commit) + self.save_new_objects(commit)

File "/env/lib/python3.7/site-packages/django/forms/models.py" in save_new_objects
  807.             self.new_objects.append(self.save_new(form, commit=commit))

File "/env/lib/python3.7/site-packages/django/forms/models.py" in save_new
  947.         return super().save_new(form, commit=commit)

File "/env/lib/python3.7/site-packages/django/forms/models.py" in save_new
  646.         return form.save(commit=commit)

File "/env/lib/python3.7/site-packages/django/forms/models.py" in save
  458.             self.instance.save()

File "/env/lib/python3.7/site-packages/django/db/models/base.py" in save
  741.                        force_update=force_update, update_fields=update_fields)

File "/env/lib/python3.7/site-packages/django/db/models/base.py" in save_base
  779.                 force_update, using, update_fields,

File "/env/lib/python3.7/site-packages/django/db/models/base.py" in _save_table
  870.             result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)

File "/env/lib/python3.7/site-packages/django/db/models/base.py" in _do_insert
  908.                                using=using, raw=raw)

File "/env/lib/python3.7/site-packages/django/db/models/manager.py" in manager_method
  82.                 return getattr(self.get_queryset(), name)(*args, **kwargs)

File "/env/lib/python3.7/site-packages/django/db/models/query.py" in _insert
  1186.         return query.get_compiler(using=using).execute_sql(return_id)

File "/env/lib/python3.7/site-packages/django/db/models/sql/compiler.py" in execute_sql
  1334.             for sql, params in self.as_sql():

File "/env/lib/python3.7/site-packages/django/db/models/sql/compiler.py" in as_sql
  1278.                 for obj in self.query.objs

File "/env/lib/python3.7/site-packages/django/db/models/sql/compiler.py" in <listcomp>
  1278.                 for obj in self.query.objs

File "/env/lib/python3.7/site-packages/django/db/models/sql/compiler.py" in <listcomp>
  1277.                 [self.prepare_value(field, self.pre_save_val(field, obj)) for field in fields]

File "/env/lib/python3.7/site-packages/django/db/models/sql/compiler.py" in pre_save_val
  1228.         return field.pre_save(obj, add=True)

File "/env/lib/python3.7/site-packages/django/db/models/fields/files.py" in pre_save
  288.             file.save(file.name, file.file, save=False)

File "/env/lib/python3.7/site-packages/django/db/models/fields/files.py" in save
  86.         name = self.field.generate_filename(self.instance, name)

File "/env/lib/python3.7/site-packages/django/db/models/fields/files.py" in generate_filename
  307.         return self.storage.generate_filename(filename)

File "/env/lib/python3.7/site-packages/django/utils/functional.py" in inner
  256.             self._setup()

File "/env/lib/python3.7/site-packages/django/core/files/storage.py" in _setup
  363.         self._wrapped = get_storage_class()()

File "/env/lib/python3.7/site-packages/django/core/files/storage.py" in get_storage_class
  358.     return import_string(import_path or settings.DEFAULT_FILE_STORAGE)

File "/env/lib/python3.7/site-packages/django/utils/module_loading.py" in import_string
  17.     module = import_module(module_path)

File "/opt/python3.7/lib/python3.7/importlib/__init__.py" in import_module
  127.     return _bootstrap._gcd_import(name[level:], package, level)

File "<frozen importlib._bootstrap>" in _gcd_import
  1006. <source code not available>

File "<frozen importlib._bootstrap>" in _find_and_load
  983. <source code not available>

File "<frozen importlib._bootstrap>" in _find_and_load_unlocked
  953. <source code not available>

File "<frozen importlib._bootstrap>" in _call_with_frames_removed
  219. <source code not available>

File "<frozen importlib._bootstrap>" in _gcd_import
  1006. <source code not available>

File "<frozen importlib._bootstrap>" in _find_and_load
  983. <source code not available>

File "<frozen importlib._bootstrap>" in _find_and_load_unlocked
  953. <source code not available>

File "<frozen importlib._bootstrap>" in _call_with_frames_removed
  219. <source code not available>

File "<frozen importlib._bootstrap>" in _gcd_import
  1006. <source code not available>

File "<frozen importlib._bootstrap>" in _find_and_load
  983. <source code not available>

File "<frozen importlib._bootstrap>" in _find_and_load_unlocked
  965. <source code not available>

Exception Type: ModuleNotFoundError at /showroom/create/
Exception Value: No module named 'google'

Обновление

Шейн, приведенный ниже, дал мне идею обновить файл require.txt (переохлаждение файла). Теперь ошибка гласит:

ModuleNotFoundError at /showroom/create/
No module named 'google.storage'

...

**/srv/showroom/views.py in form_valid
                images.save**

Вот часть моих требований.txt. (я там пробовал много гугл-материалов)

Django==2.2.5
django-allauth==0.40.0
django-crispy-forms==1.7.2
django-gcloud-storage==0.4.0
google-api-core==1.14.3
google-auth==1.6.3
google-cloud==0.34.0
google-cloud-core==1.0.3
google-cloud-storage==1.20.0
google-cloud-vision==0.39.0
google-resumable-media==0.4.1
googleapis-common-protos==1.6.0
grpcio==1.24.3
gunicorn==19.9.0
idna==2.8
isort==4.3.21
lazy-object-proxy==1.4.2
mccabe==0.6.1
mysqlclient==1.4.4
oauthlib==3.1.0

Ответы [ 3 ]

2 голосов
/ 25 октября 2019

Вместо этого вы сделали pip install google-cloud-storage?

Это из документов здесь: https://cloud.google.com/python/setup#installing_and_using_virtualenv

И когда я запускаю это, он устанавливает дополнительные зависимости. Просто google-cloud не устанавливает эти дополнительные зависимости, которые, как я предполагаю, будут включать в себя модуль google

1 голос
/ 26 октября 2019

Вам нужно запустить pip3 install (package name), чтобы он работал с Python 3

0 голосов
/ 08 ноября 2019

Нет модуля с именем 'google.storage'

Сообщение об ошибке указывает на то, что среде python, в которой вы выполняете свое приложение, не удалось найти модуль "google.storage" (довольно прямо вперед). Но это может быть вызвано несколькими причинами, но наиболее вероятным является:

1.- У вас не установлен модуль (если по умолчанию в Python используется envi Python 2, когда вы выполняете его «pip install»)установите пакет в Python 2 env).

примечание: вы можете проверить ваш Python env по умолчанию, просто запустив команду "python" и проверив, какая версия инициализируется.

2.- Если вы используете virtualenv (как рекомендуется), также возможно, что путь к модулю не был экспортирован должным образом.

Некоторые советы по устранению неполадок:

  • сначала убедитесь, что в среде python, в которой выполняется приложение, указан путь к модулю "google" (импортируйте только часть Google ипосмотрим, найдет ли он это).

  • Если он найдет модуль, вы можете распечатать путь к нему и проверить, установлен ли у вас модуль хранения. Пример:

    import google
    print(google.__file__) 
    
  • Если у вас есть модуль хранения, он подтвердит, что путь не был правильно экспортирован.

...