在Cygwin中使用Python 3

目前 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 了,当两者都没有的时候就只有悲剧了。

12条评论

    1. 有时候在 Windows 下工作,不想特意为了这个而切换到 Ubuntu下

    1. 想学会某样东西总得付出精力和时间的

    1. 日常使用的话也没太多复杂的东西,深入的话 Windows 同样也是很复杂的

    1. 有时候懒得切换过去;
      而且,最近 upgrade 的时候出了些问题,还没修复 😈

  1. make install 最后会提示找不到 /usr/local/lib/python3.2/config-3.2m/Makefile,手动把当前目录的 Makefile 放到相应目录即可顺利编译,不妨试试。不过我最后还是用了 Windows 上的,原因在于另外装的模块问题…

    1. 嗯,有空再看看这个。现在很少用 win 了,对开发者太不友好了

评论已关闭。