无法在 Windows 10 中导入 python 模块(共享对象),但可以在 Linux 中导入

阿蒙克

我正在尝试设置与 Linux 相同的 Windows 10 开发环境,因为我想使用 pyCharm。

我为 Linux 和 Windows 的一些本地软件包进行了 pip 安装 - 虽然我可以在 Linux 中很好地导入,但我在 Windows 中遇到了麻烦。例如:

Linux - 一切都很好

(behave) linux:/home/<my_username>/engines $ which python
~/anaconda3/envs/behave/bin/python
(behave) linux:/home/<my_username>/engines $ python --version
Python 3.7.6
(behave) linux:/home/<my_username>/engines $ pip show protogen
Name: protogen
Version: 2.1
Summary: Pybinds for protogen protocols
Home-page: UNKNOWN
Author: Developer
Author-email: UNKNOWN
License: UNKNOWN
Location: /home/<my_username>/anaconda3/envs/behave/lib/python3.7/site-packages
Requires:
Required-by: order-entry
(behave) linux:/home/<my_username>/engines $ python
Python 3.7.6 (default, Jan  8 2020, 19:59:22)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import protogen
>>>

视窗 10

(behave) C:\Users\<my_username>> $ where python
C:\Users\<my_username>\AppData\Local\Continuum\anaconda2\envs\behave\python.exe
T:\python\python.exe
(behave) linux:/home/<my_username>/engines $ python --version
Python 3.7.6
(behave) linux:/home/<my_username>/engines $ pip show protogen
Name: protogen
Version: 2.1
Summary: Pybinds for protogen protocols
Home-page: UNKNOWN
Author: Developer
Author-email: UNKNOWN
License: UNKNOWN
Location: C:\Users\<my_username>\AppData\Local\Continuum\anaconda2\envs\behave\lib\site-packages
Requires:
Required-by: order-entry
(behave) C:\Users\<my_username>>python
Python 3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import protogen
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\<my_username>\AppData\Local\Continuum\anaconda2\envs\behave\lib\site-packages\protogen\__init__.py", line 194, in <module>
    aquisatp        = get_fixed_proto('AquisATP')
  File "C:\Users\<my_username>\AppData\Local\Continuum\anaconda2\envs\behave\lib\site-packages\protogen\__init__.py", line 182, in get_fixed_proto
    proto = importlib.import_module(f'.protos.{name}', __name__)
  File "C:\Users\<my_username>\AppData\Local\Continuum\anaconda2\envs\behave\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named 'protogen.protos.AquisATP'

AquisATP 是一个共享对象,位于:C:\Users\\AppData\Local\Continuum\anaconda2\envs\behave\lib\site-packages\protogen\protos\AquisATP.so

目前我将 PYTHONPATH 设置为 C:\Users\\AppData\Local\Continuum\anaconda2\envs\behave\lib\site-packages

有意识的

当我切换到 pycharm 时,我也遇到了类似的问题。对我来说,我们选择的环境(项目解释器)似乎会影响我们安装的内容和方式。必须尝试 conda 安装它们,看看是否有效?

也有可能 AquisATP 仅在 Linux 上可用,而在 Windows 上不可用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章