![由于Python版本不受支持,无法在Arch Linux上安装tensorflow](https://linux22.com/image/185269/%E7%94%B1%E4%BA%8EPython%E7%89%88%E6%9C%AC%E4%B8%8D%E5%8F%97%E6%94%AF%E6%8C%81%EF%BC%8C%E6%97%A0%E6%B3%95%E5%9C%A8Arch%20Linux%E4%B8%8A%E5%AE%89%E8%A3%85tensorflow.png)
您好,我最近尝试使用安装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 将自动安装)。