我很难理解当我在解释器中运行时使用哪个python版本? 也就是说,当我有多个版本时,shell如何决定加载哪个python版本。 我有/ usr / bin的快照。它至少有两个不同的python版本2.5和2.6。 我没有在.bashrc中指定任何内容来选择。 当我在bash shell上执行python命令时,python解释器打开,但加载版本2.6。 shell如何检测到这一点? 如果我想更改版本,我该怎么做?也就是说,我想更改默认版本 最后在/ usr / bin / python中有哪些文件。我试图在编辑器中打开它们,我看到一些@@@。我在这里看了很多帖子,但有些让我感到困惑。
ls /usr/bin/python
python python2.5 python2.6 pythonw pythonw2.6
python-config python2.5-config python2.6-config pythonw2.5
python
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
答案 0 :(得分:2)
要知道默认使用哪个版本,请键入
which python
要使用另一个,请在调用它们时使用完整路径:
/usr/bin/python/python2.5 myfile.py
/usr/bin/python/python2.6 myfile.py
etc.
如果您想更改默认设置,可以在~/.bashrc
中创建别名,例如:
my_python='/usr/bin/python/python2.7'
或更好更改/usr/bin/python
的链接方向(或来自which python
的任何内容)。这是一个链接,因此将其链接到您需要的确切版本。
ln -s /prefered/path/of/python /usr/bin/python
您在/usr/bin/python
中看到的文件是可执行文件。您可以执行以下操作来查看此内容:
file /usr/bin/python/python2.5
就我而言:
$ file /usr/bin/python
/usr/bin/python: symbolic link to `python2.7'
$ file /usr/bin/python2.7
/usr/bin/python2.7: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0xf66a10f2c444b2329b25ab6790abb7fbb4fe3f78, stripped
答案 1 :(得分:1)
python --version
然后转到你的.bashrc(应该在你的主目录中)并添加:
alias python='[your path]'
对我来说,我有:
alias python='/usr/bin/python2.7'
请确保您说:
source ./bashrc
应用您的更改。