我是Linux的新手,刚刚在我的笔记本电脑上安装了ubuntu12.10。我使用Python,在ubuntu上有两个版本的Python,2.7和3.2。这是我的问题,如果我下载一个模块然后设置它,它将安装到哪个版本?我不知道sudo apt-get install python-virtualenv
这样的命令会将它安装到哪个版本的哪个版本。是否有默认版本,然后安装了所有内容?
当我想使用 pip 安装一些软件包时,我仍然不知道它将匹配哪个版本,而且我不知道如何将软件包安装到我想要的版本。我搜索了google和stackoverflow,并知道它与 virtualenv 有关。我读了 virtualenv 文件,但我仍然不清楚它。
希望有人可以帮助我。答案 0 :(得分:2)
Debian Python Policy描述了打包模块应该如何与dpkg
交互,以便为每个已安装的版本安装,编译等附加组件,如果是Python。
IIRC政策规定python
表示python2
,您必须明确使用python3
来获取v3。
实际上,这意味着如果您想使用自己的个人库设置自己的Python 3环境,则需要一个虚拟环境(有点像vmware box或chroot,除了覆盖系统范围之外) Python)的
答案 1 :(得分:0)
您可以通过发出以下命令来检查您正在运行的python
which python
[output-path]eg: /opt/local/bin/python
使用此
/opt/local/bin/python --version
如果这是你要指向的python版本在python脚本的最顶行使用此路径。并使用
#!/opt/local/bin/python
答案 2 :(得分:0)
/ 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_TO_ENV / bin的python可执行文件。如果您可以随时删除$PATH_TO_ENV/lib/site-packages
并且不担心系统级别的任何垃圾,则所有库都会设置为$PATH_TO_ENV
。
要设置virtualenvs我正在使用这样的东西:
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时,您可以明确指定版本号 离。
pip install django-debug-toolbar>=0.9.4,<1.0
如果你在virtualenv包中,所有它的依赖项将安装在
中 $PATH_TO_ENV/lib/site-packages