python:如何将“unicodedata”模块添加到我当前的 python 库中

lim*_*che 7 python python-requests

目前我正在使用 python 模块“requests”来处理一些 https 问题。

我的代码在 Windows 机器上运行良好。但是当我将所有源代码复制到linux机器并运行所有代码时,出现了反馈ImportError: No module named unicodedata

我的python版本是2.7.4。但我发现'unicodedata'模块首先出现在2.5中。所以很奇怪为什么我当前的版本不包含它。

有没有什么方法可以在不更新python版本的情况下解决这个问题呢?或者说如何将 'unicodedata' 模块移植到我当前的 python 库?谢谢!

oli*_*bre 5

1. 安装unicodedata

在某些 Linux 发行版(如 Fedora-26)上,unicodedata由软件包提供python-libs

sudo dnf install python-libs
Run Code Online (Sandbox Code Playgroud)

但你可以尝试:

pip install unicodedata
Run Code Online (Sandbox Code Playgroud)

或者如果没有找到:

pip install unicodedata2
Run Code Online (Sandbox Code Playgroud)

2. 定位unicodedata

您的unicodedata.so(或unicodedata2.so)位于系统目录中:

/usr/lib64/python2.7/lib-dynload/unicodedata.so
Run Code Online (Sandbox Code Playgroud)

--user如果在 中使用选项pip install --user unicodedata2,则库位于用户目录中:

$HOME/.local/lib/python2.7/site-packages/unicodedata2.so
Run Code Online (Sandbox Code Playgroud)

locate unicodedata如果您仍在寻找该库,您可以使用命令。

3.修复ImportError

要解决此问题,您可以从应用程序库目录ImportError: No module named unicodedata创建到该库的符号链接:unicodedata.so

cd libs
ln -sv /usr/lib64/python2.7/lib-dynload/* .
Run Code Online (Sandbox Code Playgroud)