【问题标题】:installed pytorch1.0.1 for OS X with pip3 but cannot import, what can I do?使用 pip3 为 OS X 安装了 pytorch1.0.1 但无法导入,我该怎么办?
【发布时间】:2019-03-26 22:57:57
【问题描述】:

我已经用 pip3 为 MacOS 10.14 安装了 pytorch,但我无法在 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'
>>> 

【问题讨论】:

  • python3 -m pip list 怎么样?它出现在那里吗?毕竟不能保证pip3 是你的python3pip...
  • @AKX 你是对的,它没有出现在那里。其实我并没有完全理解pip3和我python3的pip之间的关系。如果你能告诉我这段关系,我将不胜感激。我该如何解决这个问题?

标签: python python-import pytorch


【解决方案1】:

扩展我的评论:

不能严格保证系统上某处的pip3 包装脚本与python3 二进制文件的pip 包管理器/模块相关。该包装器可能是由不同的 Python 安装创建的——可能是您系统自己的,也可能是其他东西。 (您可以使用which pip3 查看脚本所在的位置,并使用less $(which pip3) 查看它使用的解释器,并查看顶部的shebang 行。)

您安装的每个 Python 版本都有自己的 site-packages 目录,其中包含全局(就该版本而言)安装的包。幸运的是,pip 可以与带有 -m 开关的包装脚本完全相同地运行,因此确定 Torch 和 Torchvision 安装到您的 python3 中(这似乎是 Python 3.7 .0),

python3 -m pip install torch torchvision

应该可以解决问题。

但是,应该避免全局(嗯,解释器全局,如上所述)安装包,因为在处理多个项目时很容易陷入麻烦。相反,您应该使用 virtualenvs 将您的库安装彼此分开——venv 模块现在包含在 Python 中,official documentation 有一个关于它的指南。 (其他选项是 pipenv 和诗歌,但值得了解较低级别的工具。)

【讨论】:

  • 你完全解决了这个问题,也帮助我理解了python和包管理器之间的关系,非常感谢!
猜你喜欢
  • 1970-01-01
  • 2016-11-20
  • 2020-06-18
  • 1970-01-01
  • 1970-01-01
  • 2021-05-04
  • 2015-08-24
  • 1970-01-01
  • 2015-10-26
相关资源
最近更新 更多