目前 Cygwin 自带的 Python 还是 2.x 版本,如果想在这里使用 Python 3 只能使用别的方法了。
方法一:编译安装
编译安装,这是 Linux 下安装软件的常见方式,大致步骤 cygwin编译python3一文有述,鉴于原文是墙外的 blogspot,故摘要在这里:
- 下载源码,解压
- Cygwin 下切换到源码目录,运行命令
./configure --enable-shared --with-wide-unicode
make
,最后会报错退出,提示缺少libpython3.2mu.dll.a
,只需将当前目录下的libpython3.2mu.a
复制为libpython3.2mu.dll.a
,然后重新make
make install
- 最后,在用户目录下的
.bash_profile
中加上
alias python3 = /usr/local/bin/python3.2mu
export python3
这样即可实现在 Cygwin 中运行 python3 打开 python 解析器。
无奈的是,我在最后 make install
的时候失败了,只好另走它径。
方法二:直接使用 Windows 版本的 Python 3
鉴于我已经安装了 Windows 版本的 Python 3,因而打起了这个的注意。Google 了一下,找到一个方法:还是编辑 .bash_profile 文件
# 需要注意一下路径有空格的做法,用\转义空格,然后路径用双引号括起
alias python3="/cygdrive/d/Program\ Files/python/python.exe"
export python3
这个方法是可行的,只是,使 Python 文件可直接运行的的 slashbang 需要是 "/cygdrive/d/Program\ Files/python/python.exe"
,不好记,而且一旦切换到 Ubuntu 下就用不了了。
方法三:直接使用 Windows 版本的 Python 3 之 二
ls -l
的时候发现有软链接这回事,于是尝试了这个方法。
在 /usr/local/bin
下使用 ln -s /cygdrive/d/Program\ Files/python/python.exe python3
来生成了一个软链接(注意此时路径转义空格但并没有使用双引号),这样,直接在 Cygwin 中运行 python3 可打开解析器,slashbang /usr/local/bin/python3
也可以生效,只要 Ubuntu 下对应目录也有一个 python3 的执行文件或链接也同样生效。
后言:虽说可以说是解决了问题,但编译失败还是一件无法否认的问题,谁叫我一直没看过 make 的相关知识呢,然后出了问题除了 Google 也只有 Bing 了,当两者都没有的时候就只有悲剧了。
为何用cygwin啊,你不是有ubuntu
有时候在 Windows 下工作,不想特意为了这个而切换到 Ubuntu下
我以前学过linux,但最终放弃了,难呀!
想学会某样东西总得付出精力和时间的
最近在学Linux,觉得比Windows复杂好几万倍啊
日常使用的话也没太多复杂的东西,深入的话 Windows 同样也是很复杂的
流年仍旧是很勤劳哈
最近有那么一点时间 😎
ubuntu放在哪里闲着不用还用起了这个cygwin
有时候懒得切换过去;
而且,最近 upgrade 的时候出了些问题,还没修复 😈
make install 最后会提示找不到 /usr/local/lib/python3.2/config-3.2m/Makefile,手动把当前目录的 Makefile 放到相应目录即可顺利编译,不妨试试。不过我最后还是用了 Windows 上的,原因在于另外装的模块问题…
嗯,有空再看看这个。现在很少用 win 了,对开发者太不友好了