由于Python版本不受支持,无法在Arch Linux上安装tensorflow

由于Python版本不受支持,无法在Arch Linux上安装tensorflow

您好,我最近尝试使用安装tensorflow pip install --user --upgrade tensorflow,但出现错误

ERROR: Could not find a version that satisfies the requirement tensorflow (from versions: none)
ERROR: No matching distribution found for tensorflow

我相信这是因为我的 python 版本,即 3.9,不受支持。虽然不推荐,我也使用降级到python 3.8 pacman -U,但是然后:

Traceback (most recent call last):
  File "/usr/sbin/pip3", line 33, in <module>
    sys.exit(load_entry_point('pip==20.2.1', 'console_scripts', 'pip3')())
  File "/usr/sbin/pip3", line 22, in importlib_load_entry_point
    for entry_point in distribution(dist_name).entry_points
  File "/usr/lib/python3.8/importlib/metadata.py", line 504, in distribution
    return Distribution.from_name(distribution_name)
  File "/usr/lib/python3.8/importlib/metadata.py", line 177, in from_name
    raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: pip

您将如何在 Arch Linux 等滚动发布系统上安装 TensorFlow?

答案1

我会选择像 Pyenv 这样的东西,它允许你在单个系统上安装多个版本的 Python。

https://github.com/pyenv/pyenv

我认为没有官方包,但您可能可以从 AUR 获取它或按照项目中所述从源代码安装它。

然后运行以下命令以在 Shell 启动时启动它:

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

如果您使用 Zsh 或 Fish,请根据文档进行修改。

然后就可以安装你需要的版本了:

pyenv install 3.8

然后你可以创建一个.python-version在本地项目中调用的文件,其中包含版本号,并且你应该能够在运行命令时运行该版本的Python

答案2

不鼓励降级软件包,特别是如果该软件包是许多系统级软件包的依赖项:其中一些可能位于/usr/lib/python3.8,而另一些则位于/usr/lib/python3.9,不允许彼此看到。我建议您使用 恢复降级sudo pacman -S python

相反pyenv,我个人更喜欢 Anaconda,它可以miniconda3通过 AUR 以最小的占用空间进行安装(两周前它被标记为过时,但仍然得到维护,只是发布者总是来得有点晚) 。

conda可以很容易地用来创建一个新的环境

conda create -n tensorflow python=3.8

并激活

conda activate tensorflow

tensorflow显然是生成的环境名称,可以是任何内容,而后面的元素(python=3.8)是您要安装的所需包(pip 将自动安装)。

相关内容