首页 > 解决方案 > 无法在 cygwin 中加载 python 模块

问题描述

我已经在 Windows 中启动并运行了 cygwin,一切似乎都运行良好,除了加载 python 模块。

>>> import requests
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/cygdrive/c/Users/mkupfer/appdata/local/programs/python/python36-32/lib/site-packages/requests/__init__.py", line 44, in <module>
    import chardet
ModuleNotFoundError: No module named 'chardet'

然后这是我为 numpy 得到的另一个错误,看起来有点不同。

    >>> import numpy
Traceback (most recent call last):
  File "/cygdrive/c/Users/mkupfer/appdata/local/programs/python/python36-32/lib/site-packages/numpy/core/__init__.py", line 16, in <module>
    from . import multiarray
ImportError: cannot import name 'multiarray'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/cygdrive/c/Users/mkupfer/appdata/local/programs/python/python36-32/lib/site-packages/numpy/__init__.py", line 142, in <module>
    from . import add_newdocs
  File "/cygdrive/c/Users/mkupfer/appdata/local/programs/python/python36-32/lib/site-packages/numpy/add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "/cygdrive/c/Users/mkupfer/appdata/local/programs/python/python36-32/lib/site-packages/numpy/lib/__init__.py", line 8, in <module>
    from .type_check import *
  File "/cygdrive/c/Users/mkupfer/appdata/local/programs/python/python36-32/lib/site-packages/numpy/lib/type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "/cygdrive/c/Users/mkupfer/appdata/local/programs/python/python36-32/lib/site-packages/numpy/core/__init__.py", line 26, in <module>
    raise ImportError(msg)
ImportError:
Importing the multiarray numpy extension module failed.  Most
likely you are trying to import a failed build of numpy.
If you're working with a numpy git repo, try `git clean -xdf` (removes all
files not under version control).  Otherwise reinstall numpy.

Original error was: cannot import name 'multiarray'

我最初认为这与我的sys.path? 但我已将以下内容添加到我的 .bashrc 文件中,但上述问题仍然存在:

PYTHONPATH="$HOME/appdata/local/programs/python/python36-32/lib/site-packages"
PYTHONPATH="${PYTHONPATH}:$HOME/appdata/local/programs/python/python36-32/lib"
export PYTHONPATH

我在这里尝试了另一个问题的解决方案:https ://stackoverflow.com/a/32027563/1656488 ,但这仍然没有解决任何问题。它实际上将 pip3 安装在我的 Windows 用户目录下,而不是在 cygwin 中。

标签: pythoncygwin

解决方案


我已经按照这个答案中的步骤解决了我的问题。感谢@not2qubit 的雄辩解决方案。请点击链接,以便他们可以为此答案申请功劳。


推荐阅读