安装

我也是,同款电脑同款报错,老哥解决了吗?我搞了好久都没好

m1问题解决了
1、先从下载d2l包到本地文件
2、利用sys查看python包所在目录
import sys
print(sys.pat)
第三方包安装位置一般是site-package结尾
3、d2l目录导入
4、python中import d2l会提示缺少各种依赖的包,pip安装就好
注意:当出现ImportError: cannot import name ‘PILLOW_VERSION’ from ‘PIL’ (/Users/dcj/miniforge3/envs/d2l-zh/lib/python3.8/site-packages/PIL/init.py)
需要修改上面提示出现错误的py脚本中PILLOW_VERSION,将其改成__version__
因为PIL7.0版本以后用__version__替换PILLOW_VERSION
5、再import d2l一般就不会报错

问题解决了,我在下面评论回复了,离线下载安装成功的,命令安装还不成功就很奇怪 :face_with_raised_eyebrow:

m1问题解决了
1、先从下载d2l包到本地文件
2、利用sys查看python包所在目录
import sys
print(sys.pat)
第三方包安装位置一般是site-package结尾
3、d2l目录导入
4、python中import d2l会提示缺少各种依赖的包,pip安装就好
注意:当出现ImportError: cannot import name ‘PILLOW_VERSION’ from ‘PIL’ (/Users/dcj/miniforge3/envs/d2l-zh/lib/python3.8/site-packages/PIL/ init .py)
需要修改上面提示出现错误的py脚本中PILLOW_VERSION,将其改成__version__
因为PIL7.0版本以后用__version__替换PILLOW_VERSION
5、再import d2l一般就不会报错

我的问题我后来看了一下,是因为d2l==0.17.3 这个包需要 numpy==1.18.5, 但是m1 mac不支持直接pip或者conda安装这个版本的numpy.
我找了一个相应的轮子给numpy==1.18.5装上就好了.

具体的轮子在这里包着:

我也写了个博客记录了一下详细过程:

1 Like

我的问题我后来看了一下,是因为d2l==0.17.3 这个包需要 numpy==1.18.5, 但是m1 mac不支持直接pip或者conda安装这个版本的numpy.
我找了一个相应的轮子给numpy==1.18.5装上就好了.

具体的轮子在这里包着:

我也记录了一下详细的安装过程

1 Like

你好,我也遇到这个问题。。。你解决了吗?

我有两个问题想请教一下:1.nvidia官网下载的cudatoolkit和conda安装的cudatoolkit有什么区别?是不是只要安装其中一个就可以了?2. 要不要安装cudnn?什么情况下需要安装cudnn?
这两个问题网上很乱,每个人都有不同的理解,我也不知道哪一个是对的。所以想和大佬们请教一下

这个问题我之前做过实验,nvidia官网的cudatoolkit不是直接用于python的,配Python环境不需要安装那个,直接用conda安装就行了。
可以参考这个回答:
如何使用wsl2搭建基于Tensorflow GPU的深度学习环境? - winson的回答 - 知乎

有人遇到过这个问题吗,d2l包安装成功了,但是在具体实例中跑的时候还是显示找不到

谢谢大哥,已按照思路解决M1上d2l的安装。
现在可能所需的Numpy,Pandas版本不一样,按照大哥的方式把每个安装好就可以了pip install d2l。(附一张本人所需的版本)

环境配置须知——注意版本问题:
conda create -n d2l python=3.8
保证这是个纯净的3.8环境,不要提前自己安装各种包。先安装pytorch,再安装d2l里的包
pytorch安装需要到官网里去找,为了防止意外,尽量安装指定的版本,有一个以前的版本页面。
pandas或者其他库如果出现运行错误,导入错误,可能是版本问题,我看了一下,d2l包里的pandas是1.2x版本的,目前pandas已经更新到1.4x了,如果提前安装了1.4x,会导致pandas 1.2x安装失败,这也是前面要保证纯净环境的原因。

Please let me know how to solve this error.
#call the full implemented HyperParameters class saved in d2l
class B(d2l.HyperParameters):
def init(self, a, b, c):
self.save_hyperparameters(ignore=[‘c’])
print(‘self.a =’, self.a, ‘self.b =’, self.b)
print(‘There is no self.c =’, not hasattr(self, ‘c’))
b = B(a=1, b=2, c=3)

AttributeError Traceback (most recent call last)
Input In [28], in <cell line: 2>()
1 #call the full implemented HyperParameters class saved in d2l
----> 2 class B(d2l.HyperParameters):
3 def init(self, a, b, c):
4 self.save_hyperparameters(ignore=[‘c’])
AttributeError: module ‘d2l.tensorflow’ has no attribute ‘HyperParameters’

编译旧pandas会报错,有遇到这个问题吗?本地pandas最新版本这个文件也没有这几行,用的是缓存的旧版本

您好,请问现在 d2l 支持 M1 系列的 pytorch GPU 加速了吗,我看到 d2l 的版本貌似并不兼容,是我没有更新吗?谢谢

在安装cuda toolkits的时候,cuda11.3的win版本只有win10,server2016和server2019可选择。但是我电脑是win11的,难道只能重装系统吗…想问下大家有没有遇到的问题,咋解决的。

是不是因为我用的是python3.10,当我运行jupyter notebook时候,报错了

报错日志如下(我用的是mac)

Traceback (most recent call last):
  File "/Users/wjunshen/miniconda3/envs/d2l/bin/jupyter-notebook", line 8, in <module>
    sys.exit(main())
  File "/Users/wjunshen/miniconda3/envs/d2l/lib/python3.10/site-packages/jupyter_core/application.py", line 269, in launch_instance
    return super().launch_instance(argv=argv, **kwargs)
  File "/Users/wjunshen/miniconda3/envs/d2l/lib/python3.10/site-packages/traitlets/config/application.py", line 982, in launch_instance
    app.start()
  File "/Users/wjunshen/miniconda3/envs/d2l/lib/python3.10/site-packages/notebook/notebookapp.py", line 2320, in start
    success = self._bind_http_server()
  File "/Users/wjunshen/miniconda3/envs/d2l/lib/python3.10/site-packages/notebook/notebookapp.py", line 1795, in _bind_http_server
    return self._bind_http_server_unix() if self.sock else self._bind_http_server_tcp()
  File "/Users/wjunshen/miniconda3/envs/d2l/lib/python3.10/site-packages/notebook/notebookapp.py", line 1821, in _bind_http_server_tcp
    self.http_server.listen(port, self.ip)
  File "/Users/wjunshen/miniconda3/envs/d2l/lib/python3.10/site-packages/tornado/tcpserver.py", line 183, in listen
    sockets = bind_sockets(
  File "/Users/wjunshen/miniconda3/envs/d2l/lib/python3.10/site-packages/tornado/netutil.py", line 162, in bind_sockets
    sock.bind(sockaddr)
OSError: [Errno 49] Can't assign requested address

请问大家安装d2l的时候遇到了这个问题吗(Could not build wheels for pandas, which is required to install pyproject.toml-based projects),一直解决不了,请大佬解疑

2 Likes

装了cudatoolkit 11.1 和 nividia driver 450.216.04, 但是torch.cuda.is_available() 还是false怎么办

我的win10的系统,安装d2l时这个一直报错,求问大佬,这个该怎么解决,有人碰到吗