Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用nix-mess路径安装Python3_Python_Nix - Fatal编程技术网

使用nix-mess路径安装Python3

使用nix-mess路径安装Python3,python,nix,Python,Nix,我在Debian9上安装了Python3.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?没错,Nixpkgs上的python3提供了Python可执行文件。根本原因是用户安装的程序隐藏了系统范围的程序(请参

我在Debian9上安装了Python3.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?

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

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


但是您可能会对nix shell-p python3感兴趣,它使用python3创建临时环境,并将python2留在其他地方。

更改路径。或者将该python脚本重命名为python3@pvg这并不是那么简单,因为包(往往)对于Nix是不可变的。@danbst我假设使用Nix并不会使更改路径env var变得不可能。@pvg,当然,可以使用
rm/home/user/.Nix profile/bin/python
解决问题。再想一想,它看起来甚至不像是解决办法,而是一个合适的解决方案。谢谢。我想保持系统python2是python,而不是安装另一个python。如何使用nix shell创建virtualenv?另请参见。对于环境,只需在terminal中键入
nix shell-p python3
,您将被放到python3。Nix不会在CLI中替换virtualenv,但您可以执行
Nix shell-p python3 python3包。virtualenv