我不得不用conda安装pytorch,然后在尝试升级系统时出现此错误:
sudo dnf upgrade
Traceback (most recent call last):
File "/bin/dnf", line 57, in <module>
from dnf.cli import main
File "/usr/lib/python3.6/site-packages/dnf/__init__.py", line 31, in <module>
import dnf.base
File "/usr/lib/python3.6/site-packages/dnf/base.py", line 26, in <module>
from dnf.comps import CompsQuery
File "/usr/lib/python3.6/site-packages/dnf/comps.py", line 29, in <module>
import dnf.util
File "/usr/lib/python3.6/site-packages/dnf/util.py", line 32, in <module>
import librepo
ModuleNotFoundError: No module named 'librepo'
我看到一些使用yum弃用的答案用于重新安装python,但似乎我没有在我的机器上使用它。我不想再重新安装linux了,我正在寻找那个问题的答案。
当通过conda安装pytorch时,它还安装了cuda。也许这可能是个问题? 在此之前,我记得(不确定,但有点)我默认使用python2.7运行,现在它是python 3.6 ..
答案 0 :(得分:5)
首先是修复事情的神奇的单行:
echo 'import sys;sys.path += ["/usr/lib64/python3.6/site-packages/", "/usr/lib64/python3.6/"]' | sudo tee /usr/lib/python3.6/site-packages/lib64.pth
使用conda安装jupyterlab后出现同样的错误。出于某种原因,conda安装了自己的python版本,它影响了fedora的一个版本。 Conda的python从/ usr / lib /搜索库,而fedora也在搜索/ usr / lib64 /。在大多数Linux发行版/ usr / lib /是/ usr / lib64 /或其他方式的链接,因此任何一个都可以使用。 librepo安装在/ usr / lib64 /.
中我的结论:
答案 1 :(得分:0)
我在Fedora 28中偶然发现了相同的问题。我使用anaconda作为根来更新系统范围的软件包,这使dnf出现了消息
ModuleNotFoundError: No module named 'librepo'
不推荐使用yum,但是Fedora在自动查询后为我安装了它(这很奇怪,因为dnf和yum不起作用)。 为了解决该问题,我删除了现有的libpython,从rpmfind下载了python3和python3-lib rpm,并安装了新的rpm
rm -rf /usr/lib/libpython3*.*
rpm -iv --replacepkgs python3-3.6.6-1.fc28.x86_64.rpm
rpm -iv --replacepkgs python3-libs-3.6.6-1.fc28.x86_64.rpm
现在,我知道使用pip优于整个anaconda系统。