установил pytorch1.0.1 для OS X с pip3, но не может импортировать, что я могу сделать? - PullRequest
0 голосов
/ 26 марта 2019

Я уже установил pytorch для MacOS 10.14 с pip3, но я не могу импортировать его в скрипт python. Что мне делать?

Система: MacOS 10.14

Python3: v3.7

➜  ~ pip3 list
Package     Version    
----------- -----------
numpy       1.16.2     
Pillow      5.4.1      
pip         18.1       
pycairo     1.17.1     
pygobject   3.28.3     
setuptools  40.5.0     
six         1.12.0     
torch       1.0.1.post2
torchvision 0.2.2.post3
virtualenv  16.1.0     
wheel       0.32.2     
➜  ~ python3 
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24) 
[Clang 6.0 (clang-600.0.57)] on darwin
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'
>>> 

1 Ответ

0 голосов
/ 26 марта 2019

Чтобы расширить мой комментарий:

Нет строгой гарантии того, что сценарий оболочки pip3 где-то в вашей системе связан с менеджером пакетов / модулем pip для вашего двоичного файла python3. Эта обертка может быть создана другой установкой Python - может быть, вашей собственной системой, может быть, чем-то другим. (Вы можете увидеть, где находится скрипт с помощью which pip3 и посмотреть, какой интерпретатор он использует с less $(which pip3) и посмотреть на строку Шебанга вверху.)

Каждая версия Python, которую вы установили, имеет свой собственный каталог site-packages, который содержит глобально (насколько это касается данной версии) установленные пакеты. К счастью, pip может быть запущен точно так же, как сценарий-обертка с переключателем -m, поэтому уверен Torch и Torchvision будут установлены в python3 (который выглядит как Python 3.7. 0 в это время),

python3 -m pip install torch torchvision

должен сделать трюк.

Однако глобально (ну, в общем, интерпретатор, как обсуждалось выше) следует избегать установленных пакетов, поскольку вы легко можете столкнуться с конфликтами, когда работаете над несколькими проектами. Вместо этого вы должны использовать virtualenvs, чтобы отделить ваши библиотечные установки друг от друга - в наши дни модуль Python venv включен, а официальная документация содержит руководство по нему. (Другие варианты - pipenv и поэзия, но стоит знать инструменты более низкого уровня.)

...