使用Cygwin将Python 3.0与Python 2.x一起安装的正确方法是什么?
我已经有一个Cygwin的工作副本,Python 2.x安装在Cygwin( /lib/python2.x
,而不是c:\python2.x
)。
另外,我希望能够通过将python
指向Python 2.x来保存现有的依赖关系,从而分别调用python 3(并且只是有意识地)。 我想用python30
或者其他的select。
任何指向这个问题的指南将非常感激。 我似乎无法在cygwin站点或python.org上find一个。
Python 3.0源代码的标准make install
目标不会安装python二进制文件。 相反,在最后安装打印
* Note: not installed as 'python'. * Use 'make fullinstall' to install as 'python'. * However, 'make fullinstall' is discouraged, * as it will clobber your Python 2.x installation.
所以不要担心
如果您想轻松删除整个安装,请执行configure --prefix=/usr/local/py3
截至昨天(2012年7月25日星期三), Python 3.2.3包含在标准的Cygwin安装程序中 。 再次运行Cygwin的setup.exe
(如果需要,可以从cygwin.com下载),你应该可以像选择其他软件包一样选择和安装它。
这将作为python3
安装,将任何现有的2.x安装到位:
$ python -V Python 2.6.8 $ python3 -V Python 3.2.3 $ ls -l $(which python) $(which python3) lrwxrwxrwx 1 me Domain Users 13 Jun 21 15:12 /usr/bin/python -> python2.6.exe lrwxrwxrwx 1 me root 14 Jul 26 10:56 /usr/bin/python3 -> python3.2m.exe
要以非介入的方式使用Python 3,如果您还没有,请在用户主目录中创建一个名为“.bash_profile”的文件。
设置一个指向你的Python 3安装的别名。 在我的Windows机器上,这看起来像这样:
alias python3=/cygdrive/d/apps/Python31/python export python3
根据安装位置来调整路径,如果在Windows上,请注意确保使用的是UNIX换行符,否则会得到如“bash:$'\ r':command not found”的消息。
您现在应该可以使用“python3”命令,而且您还没有修改Cygwin附带的Python版本。
在Perl世界中,我总是安装我自己的,前缀为:
./configure --prefix=/usr/local/perl/5.10.0
我从来不想处理任何perl随我的操作系统,因为我不想为它安装库,并可能弄糟在操作系统中编写的脚本。
我为Cygwin做了同样的事情,因为它能够安装我自己的模块更好,而不用担心Cygwin更新会将其垃圾。
如果当我学习Python(我想),我打算做同样的事情。
这样我就可以将各个应用程序从一个版本升级到另一个版本。
对于真正严重的应用程序(比如一个主要的网络应用程序),我甚至可以做一个专用于应用程序的用户拥有的独立安装。
而不是从命令行调用python就像这样调用python3:
python3 script1.py