如何在不丢失site-packages的情况下,用UCS-4替换Python 2.65 UCS-2版本?

0 投票
1 回答
728 浏览
提问于 2025-04-16 01:56

我下载了Python 2.6.5的源代码,为OS 10.6.4的64位系统编译并安装了很多依赖库。然后我打开了我们团队最近在做的一个大项目,运行了单元测试,结果有一个测试失败了,因为我安装的Python是用UCS-2构建的(我之前不知道这是OS X的默认设置!)

简单来说: 我在编译Python的时候没有加上 --enable-unicode=ucs4 这个选项。 (我后来发现这是必要的:http://copia.posterous.com/confusion-over-python-storage-form-for-unicod

现在我想纠正这个问题,但又不想丢失我在site-packages里放的所有东西。

这可能吗?如果可以的话,怎么做呢?

谢谢! Michaux

1 个回答

1

你可以把 /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages 这个文件夹保存起来,比如打包成一个 .tar.bz2 文件。但是,如果你恢复这个文件夹里的内容,里面的 .so 文件可能会出现问题,特别是如果它们涉及到 Python 的 Unicode 对象时。所以,包含这些 .so 文件的那些包,你在新版本的 Python 安装好后需要重新构建或者重新安装!希望你在 site-packages 里放的东西不至于多到“全部”都需要重新处理(希望如此)。

撰写回答