【问题标题】:Python3 install with nix mess PATH使用 nix mess PATH 安装 Python3
【发布时间】:2017-09-12 00:59:48
【问题描述】:

我在 Debian 9 上安装了 Python 3.6

nix-env -i python3-3.6.2

但是现在我的 python 解释器已经从默认的 Python 2.7 变成了这个 Python 3.6.2:

which python
/home/user/.nix-profile/bin/python

这会破坏很多东西。如何在不替换标准 Python 解释器的情况下安装 Python 3.6?

【问题讨论】:

  • 改变你的路径。或者将该 python 脚本重命名为 python3
  • @pvg 没那么简单,因为对于 Nix 来说,包(往往)是不可变的。
  • @danbst 我假设使用 nix 不会使您无法更改路径 env var。
  • @pvg,当然,可以使用rm /home/user/.nix-profile/bin/python 解决问题。再想一想,它甚至看起来不像是解决方法,而是一个适当的解决方案。

标签: python nix


【解决方案1】:

没错,Nixpkgs 上的python3 提供了python 可执行文件。根本原因是用户安装的程序隐藏了系统范围的程序(请参阅您的PATH envvar)。

您也应该安装python2,并解决python 可执行文件的优先级覆盖问题。

但您可能对 nix-shell -p python3 感兴趣,它使用 python3 创建时间环境并将 python 2 留在别处。

【讨论】:

  • 谢谢。我想保持系统 python2 是 python,而不是安装另一个 python。以及如何使用 nix-shell 创建 virtualenv?
  • 另见stackoverflow.com/questions/46166345/…。对于环境,只需在终端中键入nix-shell -p python3,您将被放到 python3 中。 Nix 不会在 CLI 中替换 virtualenv,但你可以这样做 nix-shell -p python3 python3Packages.virtualenv
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-06
  • 1970-01-01
  • 2019-01-22
  • 2016-12-11
相关资源
最近更新 更多