强制PyCharm(1.5.4)使用32位OSX Lion Python(2.7.1)解释器
我知道怎么在OSX Lion上以32位模式启动PyCharm,但我该怎么配置PyCharm里的解释器,让它使用苹果自带的32位Python版本(目前是2.7.1)呢?
我在终端启动时已经成功运行了,但看起来PyCharm并没有读取那些系统变量或默认设置。
我想在PyCharm中让cx_Oracle和一些脚本一起工作。更多细节请查看以下问题:
无法让cx_Oracle在Python版本2.7 / mac os 10.7.2 (Lion)上工作 - missing_OCIAttrGet
提前感谢你的回复!
2 个回答
不知道为什么,我尝试的那些方法都没用。真让人失望,pycharm居然不支持这个功能……
最后,我在PyCharm: 设置 > 插件 > 浏览库 > BashSupport中添加了BASH支持插件。
然后我在我的项目里新建了一个bash文件,内容是:
#!/bin/bash
arch -i386 /usr/bin/python ./<在这里填上你脚本的名字,它要和这个文件在同一个目录下>
通过右键点击并运行来执行它。现在它会出现在你的“配置”下拉菜单里。
这样你就可以用32位的python来运行这个脚本,查看输出结果,还可以编辑.py文件。
我不使用PyCharm,所以没法测试这个,不过看起来你可以设置一个非标准的Python解释器路径(具体可以参考PyCharm的帮助文档这里)。如果可以的话,试试用 /usr/bin/python
作为路径。如果你用过 defaults
命令来永久设置32位模式(在苹果的 man python
文档中有说明):
defaults write com.apple.versioner.python Prefer-32-Bit -bool yes
这样应该就能解决问题了。设置环境变量可能不太管用。
更新:既然你说这样不行,那我再给你一个更激进的办法。你可以用 lipo
命令从多架构(通用)二进制文件中提取出32位架构的二进制文件。试试下面这样的命令:
sudo lipo /usr/bin/python2.7 -extract_family i386 -output /usr/local/bin/python2.7-32
sudo chmod 755 /usr/local/bin/python2.7-32
然后在PyCharm中把解释器的路径设置成那个文件。这个方法有点麻烦,因为你需要关注苹果的Python更新,并且重复这个过程。如果PyCharm是直接从框架中执行Python可执行文件,那这个方法可能就不管用了。如果不想在PyCharm中寻求支持或者解决Oracle的问题,最保险的办法就是安装一个仅支持32位的Python版本。来自python.org的预编译32位安装包在Lion 10.7上有问题,因为它们依赖于gcc-4.0和10.4u SDK,而这两个在Xcode 4中已经不再提供。不过,你可以自己编译,或者稍微配置一下,应该能让MacPorts为你编译一个。