Pytorch: ModuleNotFoundError: нет модуля с именем torch._C

Созданный на 24 янв. 2017  ·  40Комментарии  ·  Источник: pytorch/pytorch

Всем привет,

Я загрузил версию процессора пакета PyTorch pip для Python 3.5 с официальной веб-страницы. Я загрузил его с помощью wget и переименовал пакет, чтобы установить его в ArchLinux с Python 3.6. После этого я использовал команду pip install для установки пакета, и никаких сообщений об ошибках не выводилось. Пакет torchvision установлен правильно.

Если я попытаюсь импортировать модуль torch с помощью import torch в сеансе ipython или в сеансе Python, я получаю следующую ошибку:

Python 3.6.0 (default, Jan 16 2017, 12:12:55) 
[GCC 6.3.1 20170109] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.6/site-packages/torch/__init__.py", line 45, in <module>
    from torch._C import *
ModuleNotFoundError: No module named 'torch._C'

Любые идеи?

С наилучшими пожеланиями,
Алессандро

Самый полезный комментарий

@phenixcx проблема в том, что у вас есть папка с именем torch в том же каталоге, который вы собираете. Сделайте это: cd .. (чтобы сменить каталог), а затем запустите python и import torch , это должно сработать.

Все 40 Комментарий

Решение

проблема в том, что у вас есть папка с именем torch в том же каталоге, который вы собираете. Сделайте это: cd .. (чтобы сменить каталог), а затем запустите python и import torch , это должно сработать.


[Отредактировано для добавления приведенного выше фрагмента, а не закопано в цепочку]

torch._C - это имя нашего расширения CPython (т. Е. Разделяемой библиотеки C, загружаемой с помощью python). Боюсь, что они могут быть несовместимы с двоичными версиями Python. Вы можете показать мне результат ls /usr/lib/python3.6/site-packages/torch/ ?

вы не можете так переименовать pip-колеса и ожидать, что они будут работать.
Это связано с тем, что расширения C имеют имя, специфичное для версии python.

Мы включим pip wheel для python 3.6 из следующего выпуска.

@soumith Ты определенно прав. Я пробовал, потому что эта процедура работает для TensorFlow как шарм: D

@apaszke Вот ваши:

asuglia<strong i="9">@maximillian</strong> ~ $ ls -ll /usr/lib/python3.6/site-packages/torch/
totale 43360
drwxr-xr-x 4 root root     4096 24 gen 20.15 autograd
drwxr-xr-x 4 root root     4096 24 gen 20.15 backends
-rwxr-xr-x 1 root root 44131377 24 gen 20.15 _C.cpython-35m-x86_64-linux-gnu.so
drwxr-xr-x 3 root root     4096 24 gen 20.15 cuda
-rwxr-xr-x 1 root root    15612 24 gen 20.15 _dl.cpython-35m-x86_64-linux-gnu.so
-rw-r--r-- 1 root root      942 24 gen 20.15 functional.py
-rw-r--r-- 1 root root     7737 24 gen 20.15 __init__.py
drwxr-xr-x 5 root root     4096 24 gen 20.15 legacy
drwxr-xr-x 3 root root     4096 24 gen 20.15 lib
drwxr-xr-x 3 root root     4096 24 gen 20.15 multiprocessing
drwxr-xr-x 7 root root     4096 24 gen 20.15 nn
drwxr-xr-x 3 root root     4096 24 gen 20.15 optim
drwxr-xr-x 2 root root     4096 24 gen 20.15 __pycache__
-rw-r--r-- 1 root root    12520 24 gen 20.15 serialization.py
drwxr-xr-x 3 root root     4096 24 gen 20.15 sparse
-rw-r--r-- 1 root root     3354 24 gen 20.15 storage.py
-rw-r--r-- 1 root root    31721 24 gen 20.15 _tensor_docs.py
-rw-r--r-- 1 root root    16961 24 gen 20.15 tensor.py
-rw-r--r-- 1 root root    10317 24 gen 20.15 _tensor_str.py
drwxr-xr-x 3 root root     4096 24 gen 20.15 _thnn
-rw-r--r-- 1 root root    98275 24 gen 20.15 _torch_docs.py
drwxr-xr-x 7 root root     4096 24 gen 20.15 utils
-rw-r--r-- 1 root root     2532 24 gen 20.15 _utils.py

Если я могу предоставить вам любую другую информацию по этому поводу, не стесняйтесь спрашивать, я буду рад вам помочь!

Да, вы можете видеть, что есть _C.cpython-35m что означает, что он будет загружен только Python 3.5. В качестве быстрого взлома вы можете попробовать переименовать _C , _dl и _thnn/_THNN в обычные файлы .so (без этой части cpython-version-artch-platform , просто _C.so ). Но это хакерство, в случае неудачи мы не оказываем дальнейшей поддержки 😄

Спасибо за помощь! Попробую: +1:

Привет, я столкнулся с той же проблемой при установке PyTorch с Python 2.7.13 和 Anaconda 4.3.0 (64-разрядная версия). Не могли бы вы мне намекнуть?

Способ установки записывается следующим образом:
git clone https://github.com/pytorch/pytorch
pip install -r requirements.txt
установка python setup.py

После этого система сообщила мне, что PyTorch установлен. Затем я написал «python» в командной строке. Наконец, в командной строке python было введено «import torch». К сожалению, я получил следующую информацию:
Отслеживание (последний вызов последний):
Файл "", строка 1, в
Файл "torch / __ init__.py", строка 45, в
из torch._C импорт *
ImportError: нет модуля с именем _C

В пакете /usr/lib/python2.7/site-packages нет пакета torch. У pytorch есть пакет torch и следующие файлы:
[ root @ AliHPC-M40-434 torch] # ls -ll
всего 236
drwxr-xr-x 3 root root 150 фев 10 11:54 автоград
drwxr-xr-x 3 root root 48 10 фев, 11:54 бэкэнды
drwxr-xr-x 9 root root 4096 10 фев, 11:54 csrc
drwxr-xr-x 2 root root 109 10 фев 11:54 cuda
drwxr-xr-x 2 root root 83 10 фев, 11:54 распределен
-rw-r - r-- 1 root root 2218 10 фев, 11:54 financial.py
-rw-r - r-- 1 корень root 7768 10 фев, 11:54 __init__.py
-rw-r - r-- 1 корень root 8762 10 фев, 13:49 __init __. pyc
drwxr-xr-x 4 root root 61 10 фев, 11:54 наследие
drwxr-xr-x 15 root root 4096 10 февраля 12:00 lib
drwxr-xr-x 2 root root 93 10 фев, 11:54 многопроцессорность
drwxr-xr-x 6 root root 4096 10 фев, 11:54 nn
drwxr-xr-x 2 root root 4096 10 фев, 11:54 optim
-rw-r - r-- 1 root root 12581 10 фев, 11:54 serialization.py
drwxr-xr-x 2 root root 32 10 фев, 11:54 разреженный
-rw-r - r-- 1 root root 3354 10 фев, 11:54 storage.py
-rw-r - r-- 1 root root 33716 10 фев, 11:54 _tensor_docs.py
-rw-r - r-- 1 root root 17009 10 фев, 11:54 tensor.py
-rw-r - r-- 1 root root 10346 10 фев, 11:54 _tensor_str.py
drwxr-xr-x 2 root root 71 10 фев, 11:55 _thnn
-rw-r - r-- 1 root root 99370 10 фев, 11:54 _torch_docs.py
drwxr-xr-x 6 root root 145 10 фев, 11:54 утилит
-rw-r - r-- 1 root root 2532 10 фев, 11:54 _utils.py
-rw-r - r-- 1 root root 2895 10 фев, 13:49 _utils.pyc

вы не используете anaconda python, так как он ищет пакеты в /usr/lib/python2.7/site-packages . Посмотрите на вывод which python и поймите, почему это не питон анаконды

Результатом «which python» является «/ root / anaconda2 / bin / python». Только что я также записал «/ root / anaconda2 / bin / python» в командной строке и использовал «import torch» в командной строке python. Результат тот же:
Отслеживание (последний вызов последний):
Файл "", строка 1, в
Файл "torch / __ init__.py", строка 45, в
из torch._C импорт *
ImportError: нет модуля с именем _C

Кроме того, перед установкой pytorch я установил torch 7 в другом пакете. Операционная система - centos 7.
Заранее благодарим Сумит за помощь.

@phenixcx проблема в том, что у вас есть папка с именем torch в том же каталоге, который вы собираете. Сделайте это: cd .. (чтобы сменить каталог), а затем запустите python и import torch , это должно сработать.

Здорово! Это действительно работает. Большое Вам спасибо. Расположение пакетов сбивает pytorch с толку.

@soumith гениальное наблюдение!

@soumith ваше предложение действительно помогает! Смущал эту проблему очень давно. Надеюсь, что каждый, у кого есть такая же проблема, сможет найти это решение успешно.

@soumith Большое спасибо, я был без ума от этой ошибки

@soumith Большое спасибо!

Решил и мою проблему! Спасибо @soumith

Ага, я пока дважды попал в эту точку :-P. Кстати, проблема также возникает, если вы покорно cd в домашний каталог, но сам скрипт находится в клонированной папке pytorch .

о боже, вот и все

работал!

работал!

У меня такая же ошибка после сборки из исходников ветки v0.3.0

Моя система - OSX10.12, версия python - 3.6.1. Я не использую питон анаконды. Я установил все необязательные зависимости через pip3. Я отключил поддержку CUDA export NO_CUDA=1

Немного изменил команду установки, чтобы она соответствовала моей системе:
Jon (v0.3.0) pytorch $ MACOSX_DEPLOYMENT_TARGET=10.12 CC=clang CXX=clang++ python3 setup.py install

получил 7 предупреждений в середине здания:
~~ / Users / Jon / pytorch / torch / lib / tmp_install / include / THD / base / TensorDescriptor.h: 14: 29: предупреждение: 'THDTensorDescriptor_newFromTHDoubleTensor' имеет указанную C-ссылку, но возвращает определенный пользователем тип'THDTensorDescriptor' (также известный как 'at :: Tensor'), несовместимый с C [-Wreturn-type-c-linkage]THD_API THDTensorDescriptor THDTensorDescriptor_newFromTHDoubleTensor (THDoubleTensor * тензор);^/Users/Jon/pytorch/torch/lib/tmp_install/include/THD/base/TensorDescriptor.h:15:29: предупреждение: 'THDTensorDescriptor_newFromTHFloatTensor' имеет C-связывание, но возвращает определяемый пользователем тип'THDTensorDescriptor' (также известный как 'at :: Tensor'), несовместимый с C [-Wreturn-type-c-linkage]THD_API THDTensorDescriptor THDTensorDescriptor_newFromTHFloatTensor (THFloatTensor * тензор);^/Users/Jon/pytorch/torch/lib/tmp_install/include/THD/base/TensorDescriptor.h:16:29: предупреждение: 'THDTensorDescriptor_newFromTHLongTensor' имеет C-связывание, но возвращает определяемый пользователем тип'THDTensorDescriptor' (также известный как 'at :: Tensor'), несовместимый с C [-Wreturn-type-c-linkage]THD_API THDTensorDescriptor THDTensorDescriptor_newFromTHLongTensor (THLongTensor * тензор);^/Users/Jon/pytorch/torch/lib/tmp_install/include/THD/base/TensorDescriptor.h:17:29: предупреждение: 'THDTensorDescriptor_newFromTHIntTensor' имеет C-ссылку, но возвращает определенный пользователем тип'THDTensorDescriptor' (также известный как 'at :: Tensor'), несовместимый с C [-Wreturn-type-c-linkage]THD_API THDTensorDescriptor THDTensorDescriptor_newFromTHIntTensor (THIntTensor * тензор);^/Users/Jon/pytorch/torch/lib/tmp_install/include/THD/base/TensorDescriptor.h:18:29: предупреждение: 'THDTensorDescriptor_newFromTHShortTensor' имеет C-связывание, но возвращает определенный пользователем тип'THDTensorDescriptor' (также известный как 'at :: Tensor'), несовместимый с C [-Wreturn-type-c-linkage]THD_API THDTensorDescriptor THDTensorDescriptor_newFromTHShortTensor (THShortTensor * тензор);^/Users/Jon/pytorch/torch/lib/tmp_install/include/THD/base/TensorDescriptor.h:19:29: предупреждение: 'THDTensorDescriptor_newFromTHCharTensor' имеет C-ссылку, но возвращает определенный пользователем тип'THDTensorDescriptor' (также известный как 'at :: Tensor'), несовместимый с C [-Wreturn-type-c-linkage]THD_API THDTensorDescriptor THDTensorDescriptor_newFromTHCharTensor (THCharTensor * тензор);^/Users/Jon/pytorch/torch/lib/tmp_install/include/THD/base/TensorDescriptor.h:20:29: предупреждение: 'THDTensorDescriptor_newFromTHByteTensor' имеет C-ссылку, но возвращает определенный пользователем тип'THDTensorDescriptor' (также известный как 'at :: Tensor'), несовместимый с C [-Wreturn-type-c-linkage]THD_API THDTensorDescriptor THDTensorDescriptor_newFromTHByteTensor (THByteTensor * тензор);^Сгенерировано 7 предупреждений.~ ~
Помимо этих предупреждений, установка мне кажется удовлетворительной.
Источник pytorch находится в каталоге ~/pytorch/ , я запускал python в каталоге ~/Desktop
Есть мысли, что может вызвать этот сбой импорта?

@Jonbean Привет, я просто клонировал последнюю версию pytorch из основной ветки. И я его успешно установил. Почему бы не попробовать мастер-ветку?

у меня такая же проблема:

ImportErrorTraceback (последний вызов последним)
в()
----> 1 импортный фонарик

ImportError: нет модуля с именем torch

Я использую ноутбук jupyter после установки pytorch, и я не знаю, как решить эту проблему.
примечание: я использую тензорный поток без этой проблемы.

Не могли бы вы сделать этот комментарий более заметным?
https://github.com/pytorch/pytorch/issues/574#issuecomment -278879701
например, @soumith , отредактировав свой 3-й пост в этой теме?

Это второй раз, когда я захожу в эту ветку, и второй раз это решение ...

@talesa добавил решение во второй пост в ветке: https://github.com/pytorch/pytorch/issues/574#issuecomment -274911281

У меня похожая проблема. И решение здесь, похоже, не работает для меня.

Я начал проходить курс «Практическое глубокое обучение для программистов» на http://course.fast.ai/. Я использую Windows 7, а Jupyter Notebook запускается через Anaconda Navigator.

При выполнении импорта в начале урока я получаю следующую ошибку:

~\Documents\Fast AI\fastai\courses\dl1\fastai\torch_imports.py in <module>()
      1 import os
----> 2 import torch, torchvision, torchtext
      3 from torch import nn, cuda, backends, FloatTensor, LongTensor, optim
      4 import torch.nn.functional as F
      5 from torch.autograd import Variable

C:\ProgramData\Anaconda3\envs\fastai\lib\site-packages\torch\__init__.py in <module>()
     74     pass
     75 
---> 76 from torch._C import *
     77 
     78 __all__ += [name for name in dir(_C)

ImportError: DLL load failed: The specified procedure could not be found.

Я также пытался сделать import torch на python вне Jupyter Notebook:

(fastai) C:\Users\PJvG\Documents\Fast AI\fastai>python
Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 10:22:32) [MSC v.1900 64 bi
t (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\ProgramData\Anaconda3\envs\fastai\lib\site-packages\torch\__init__.py
", line 76, in <module>
    from torch._C import *
ImportError: DLL load failed: The specified procedure could not be found.
>>> which python
  File "<stdin>", line 1
    which python
               ^
SyntaxError: invalid syntax

Я пробовал делать cd .. , изменений не было.

И попробовал после отключения своего фастай-канала:

(base) C:\Users\PJvG\Documents>python
Python 3.6.4 |Anaconda custom (64-bit)| (default, Jan 16 2018, 10:22:32) [MSC v.
1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'torch'

Может ли кто-нибудь помочь мне с этой проблемой?

@PJvG, похоже, проблема связана с Windows. Может быть лучше спросить в https://github.com/pytorch/pytorch/issues/494

@PJvG Вы нашли решение своей проблемы?

нет я не

2018-03-18 0:23 GMT-03: 00 karanmurthy7 [email protected] :

@PJvG https://github.com/pjvg Вы нашли решение своей проблемы?

-
Вы получили это, потому что прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/pytorch/pytorch/issues/574#issuecomment-373969927 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AWEPqcNsVyhzPm5yfm8enhRUce22vLLtks5tfdMUgaJpZM4Lsrr6
.

Я пытаюсь заставить Pytorch работать в Windows 10 с Anaconda. Успешная установка заняла много времени. Теперь, когда я пытаюсь импортировать его, я получаю ту же ошибку:

>>> import torch
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\conner\Anaconda3\Lib\site-packages\torch\__init__.py", line 76, in <module>
    from torch._C import *
ImportError: DLL load failed: The specified module could not be found.

Я пробовал cd .. и запускал python из этого нового каталога с той же самой ошибкой. Я тоже пробовал
Рекомендация @apaszke :

Да, вы можете видеть, что есть _C.cpython-35m, что означает, что он будет загружен только Python 3.5. В качестве быстрого взлома вы можете попробовать переименовать _C, _dl и _thnn / _THNN в обычные файлы .so (без этой части cpython-version-artch-platform, просто _C.so). Но это хакерство, в случае неудачи мы не оказываем дальнейшей поддержки 😄

Вот что находится в каталоге torch:

 Directory of C:\Users\conner\Anaconda3\Lib\site-packages\torch

05/05/2018  07:52 PM    <DIR>          .
05/05/2018  07:52 PM    <DIR>          ..
05/05/2018  07:29 PM    <DIR>          autograd
05/05/2018  07:29 PM    <DIR>          backends
05/05/2018  07:29 PM    <DIR>          contrib
05/05/2018  07:29 PM    <DIR>          cuda
05/05/2018  07:29 PM    <DIR>          distributed
02/24/2018  05:49 AM             6,208 distributions.py
05/05/2018  07:29 PM    <DIR>          for_onnx
02/24/2018  05:49 AM             9,714 functional.py
05/05/2018  07:29 PM    <DIR>          jit
05/05/2018  07:29 PM    <DIR>          legacy
05/05/2018  07:29 PM    <DIR>          lib
05/05/2018  07:29 PM    <DIR>          multiprocessing
05/05/2018  07:29 PM    <DIR>          nn
05/05/2018  07:29 PM    <DIR>          onnx
05/05/2018  07:29 PM    <DIR>          optim
11/09/2017  07:38 PM             4,130 random.py
02/24/2018  05:49 AM            16,759 serialization.py
05/05/2018  07:29 PM    <DIR>          sparse
02/24/2018  05:49 AM             4,016 storage.py
02/24/2018  05:49 AM            14,497 tensor.py
05/05/2018  07:29 PM    <DIR>          utils
02/24/2018  01:46 PM                58 version.py
02/24/2018  01:52 PM        22,208,512 _C.pyd
02/24/2018  01:52 PM            10,240 _nvrtc.cp36-win_amd64.pyd
10/27/2017  09:31 PM             3,044 _six.py
09/17/2017  08:09 AM             1,164 _storage_docs.py
02/24/2018  05:49 AM            39,842 _tensor_docs.py
02/24/2018  05:49 AM            11,024 _tensor_str.py
05/05/2018  07:29 PM    <DIR>          _thnn
02/24/2018  05:49 AM           127,125 _torch_docs.py
02/24/2018  05:49 AM             9,201 _utils.py
02/24/2018  05:49 AM             9,313 __init__.py
05/05/2018  07:29 PM    <DIR>          __pycache__
              16 File(s)     22,474,847 bytes
              19 Dir(s)  318,658,211,840 bytes free

Любые идеи о том, как заставить работать pytorch?

Всем привет,
Я совершенно не знаком с Pytorch, и я установил его на Anaconda. У меня такая же ошибка, и я хочу изменить каталог на cd ... . Я не знаю, что именно это означает! Кто-нибудь может сказать мне, как я могу это сделать на Anaconda? и сменить каталог на какой? Я совершенно запуталась.

заранее спасибо

Мое видение Python - 3.6.2. У меня такая же ошибка:

импортный фонарик
Отслеживание (последний вызов последний):
Файл "", строка 1, в
Файл "C: UsershpAppDataLocalProgramsPythonPython36libsite-packagestor
ch__init__.py ", строка 78, в
из torch._C импорт *
ImportError: Ошибка загрузки DLL: 找不到 指定 的 模块。

Помогите, пожалуйста, @connermcb @PJvG @apaszke

привет, ребята, я использую python 2.7 моей системы Mac (не сторонний python)
я столкнулся с этой проблемой и получил решение
просто запустите эту команду, обязательно адаптируйте ее к вашей среде 👍

sudo имя_установки_инструмент -change @ rpath / libc ++. 1.dylib /usr/lib/libc++.1.dylib /Library/Python/2.7/site-packages/torch/_C.so

@phenixcx проблема в том, что у вас есть папка с именем torch в том же каталоге, который вы собираете. Сделайте это: cd .. (чтобы сменить каталог), а затем запустите python и import torch , это должно сработать.

Я нахожусь в Windows и получаю ту же ошибку, что и любая помощь в решении

проблема:
из torch._C импорт *
ImportError: нет модуля с именем torch._C

окружающая обстановка:
3.5.6 | Anaconda, Inc. | (по умолчанию, 26 августа 2018 г., 16:05:27) [MSC v.1900, 64 бит (AMD64)]

решать:
Переустанавливаю torch по pip3, потом работает.

pip3 install torch==1.2.0+cpu torchvision==0.4.0+cpu -f https://download.pytorch.org/whl/torch_stable.html

@phenixcx проблема в том, что у вас есть папка с именем torch в том же каталоге, который вы собираете. Сделайте это: cd .. (чтобы сменить каталог), а затем запустите python и import torch , это должно сработать.

Я нахожусь в Windows и получаю ту же ошибку, что и любая помощь в решении

Вы нашли решение?

Всем привет!
У меня такая же проблема, но решения не подходят
Я пользуюсь Raspberry pi 3 model B. Выход из каталога не дает результата.
image

Всем привет!
У меня такая же проблема, но решения не подходят
Я пользуюсь Raspberry pi 3 model B. Выход из каталога не дает результата.
image

Не уверен, что вам удалось справиться с этим @BulNik , но как только вы построите колесо, оно будет в папке pytorch/dist (расширение whl). Если вы хотите правильно связать его на своем пути, просто нужно сделать это:

pip3 install pytorch/dist/torch-1.6.0a0+68f23d5-cp37-cp37m-linux_armv7l.whl

_замените имя файла с колесом своим_

По крайней мере, он работает на моем Raspberry Pi 4 Model B. Сообщите мне, если у вас все еще есть проблемы!

После выполнения подхода cd ..., как ни странно, перезапуск и сброс всех в моих google colabs решил эту проблему. Может быть, попытка сначала сэкономить время. Не уверен, почему
[Нет модуля с именем 'torch._C']

Да, вы можете видеть, что есть _C.cpython-35m что означает, что он будет загружен только Python 3.5. В качестве быстрого взлома вы можете попробовать переименовать _C , _dl и _thnn/_THNN в обычные файлы .so (без этой части cpython-version-artch-platform , просто _C.so ). Но это взлом, мы не оказываем дальнейшей поддержки, если он не работает.

Привет, я сделал это. И у меня новая ошибка :(

импортный фонарик
Отслеживание (последний вызов последний):
Файл "", строка 1, в
Файл "/home/pi/.local/lib/python3.7/site-packages/torch/__init__.py", строка 79, в
из torch._C импорт *
ImportError: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: версия `GLIBCXX_3.4.26 'не найдена (требуется для /home/pi/.local/lib/python3.7/site-packages/torch/ lib / libtorch_python.so)

Была ли эта страница полезной?
0 / 5 - 0 рейтинги