两个版本';什么是ubuntu上的Python?

两个版本';什么是ubuntu上的Python?,python,ubuntu,pip,Python,Ubuntu,Pip,我是Linux新手,刚刚在笔记本电脑上安装了ubuntu12.10。我使用Python,ubuntu上有两个版本的Python,2.7和3.2。我的问题来了,如果我下载一个模块,然后安装它,它将安装到哪个版本?我不知道像sudo apt get install python virtualenv这样的命令将把它安装到何处,也不知道安装到哪个版本。是否有一个默认版本,然后所有安装到它 当我想使用pip安装一些软件包时,我仍然不知道它将匹配哪个版本,也不知道如何将软件包安装到我想要的版本。我搜索过谷

我是Linux新手,刚刚在笔记本电脑上安装了ubuntu12.10。我使用Python,ubuntu上有两个版本的Python,2.7和3.2。我的问题来了,如果我下载一个模块,然后安装它,它将安装到哪个版本?我不知道像
sudo apt get install python virtualenv
这样的命令将把它安装到何处,也不知道安装到哪个版本。是否有一个默认版本,然后所有安装到它

当我想使用pip安装一些软件包时,我仍然不知道它将匹配哪个版本,也不知道如何将软件包安装到我想要的版本。我搜索过谷歌和stackoverflow,知道这和VirtualNV有关。我读了virtualenv文档,但还是不太清楚

希望有人能帮助我。

描述了打包模块应该如何与
dpkg
交互,以便为每个安装的Python版本安装、编译附加组件等

IIRC该策略声明
python
意味着
python2
,您必须明确使用
python3
才能获得v3


实际上,这意味着如果您想用自己的个人库设置自己的Python3环境,您将需要一个虚拟环境(有点像vmware box或chroot,除了覆盖系统范围的Python之外)。

您可以通过发出以下命令来检查正在运行的Python

which python
[output-path]eg: /opt/local/bin/python
用这个

/opt/local/bin/python --version
如果这是要指向的python版本,请在python脚本的最上面一行中使用此路径。和使用

#!/opt/local/bin/python
/usr/bin/中有两个(或更多)二进制python解释器。您运行的每个python可执行脚本(manage.py等)在开头都指定了如下内容

    #!/usr/bin/python2.6
这是系统级的口译员。他们把图书馆储存在图书馆里

    /usr/local/lib/pythonXX/site-packages
使用virtualenv,您可以自由地拥有自己的沙盒python环境。每个环境都将具有类似unix的目录结构,包括

    $PATH_TO_ENV/lib/site-packages #library home
    $PATH_TO_ENV/bin               #binaries home
当您激活virtualenv,然后运行任何python脚本时,它将使用从$PATH_到_ENV/bin的python可执行文件。如果您可以随时删除
$PATH\u TO_ENV
,并且不必担心系统级的任何垃圾,那么所有库都会设置到
$PATH\u TO_ENV/lib/站点包中

要设置VirtualNVS,我使用以下方法:

  sudo easy_install pip;
  sudo pip install virtualenv;
  sudo pip install virtualenvwrapper;

  echo "export WORKON_HOME=~/Envs" >> ~/.bashrc;
  echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc;
  . ~/.bashrc;
  mkdir -p $WORKON_HOME;
使用pip时,可以显式指定版本号 前

我在ubuntu上找到了一个答案,我发现如果在ubuntu上使用
sudo apt get install python3 pip
,然后使用pip-3.2,软件包就会正确安装。
  pip install django-debug-toolbar>=0.9.4,<1.0 
  $PATH_TO_ENV/lib/site-packages