Mac OS 上 setproctitle 的导入问题,

aro*_*man 7 python python-import importerror

在 python 中,如果我尝试import setproctitle得到以下导入错误:

 ImportError: dlopen(/Users/xxx/.local/share/virtualenvs/airflow_gg-F_Vv1Po_/lib/python3.7/site-packages/setproctitle.cpython-37m-darwin.so, 2): Symbol not found: _Py_GetArgcArgv
      Referenced from: /Users/xxx/.local/share/virtualenvs/airflow_gg-F_Vv1Po_/lib/python3.7/site-packages/setproctitle.cpython-37m-darwin.so
      Expected in: flat namespace
 in /Users/xxx/.local/share/virtualenvs/airflow_gg-F_Vv1Po_/lib/python3.7/site-packages/setproctitle.cpython-37m-darwin.so
Run Code Online (Sandbox Code Playgroud)

到目前为止我已经尝试过:

  • 尝试重新安装它(使用不同的标志,例如 --upgrade 和 --no-cache)
  • 尝试同时使用 venv 和 Pipenv

我的系统信息:系统版本:macOS 10.15.2 (19C57),内核版本:Darwin 19.2.0

我无法在网上找到有关此特定导入错误的任何信息。有任何想法吗?

- - 编辑

我从官方网站安装了 python 3.8,事实上,它可以工作(使用该解释器作为 venv 的基础)。我之前用brew安装了python 3.7(brew install python3)。我不知道为什么它不起作用。

Oo.*_*.oO 3

Python 3.8直接从 Python 页面安装效果很好。

> python3.8 -m pip install virtualenv
> python3.8 -m virtualenv -p \
/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8 proctest
> source proctest/bin/activate
> python3.8 -m pip install setproctitle
> python3.8
...
...
>>> import setproctitle
>>>
Run Code Online (Sandbox Code Playgroud)