首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >成功安装-e,导入失败: ModuleNotFoundError

成功安装-e,导入失败: ModuleNotFoundError
EN

Stack Overflow用户
提问于 2018-05-31 00:53:21
回答 1查看 1.3K关注 0票数 2

我正在尝试安装一个我正在开发的模块。当我使用'pip install -e .‘时,它输出’成功安装健身房-mabifish‘,但当我尝试使用’导入gym_mabifish‘导入模块时,我得到'ModuleNotFoundError:没有模块名为“gym_mabifish’。

下面是包的结构:

代码语言:javascript
复制
gym-mabifish/
     setup.py ( https://pastebin.com/1wNykyKw )
     gym_mabifish/
          __init__.py ( https://pastebin.com/GtQid3Nk )
          envs/
               __init__.py ( https://pastebin.com/Txfk0ezE )
               mabifish_env.py ( https://pastebin.com/g50zBbus )

我正在用random_agent从OpenAI健身房测试它。( https://pastebin.com/72LETtxd )

该包显示在pip列表中:

代码语言:javascript
复制
gym-mabifish (0.0.1, x:\path\to\project\gym-mabifish)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-31 01:28:06

很可能,您有两个(或更多) Python安装,您的pippython来自不同的安装。

理想情况下,你想要解决这个问题。但在某些情况下,这是非常困难的。在Windows上,管理路径可能是一场噩梦。在macOS上,如果你在苹果预装的Python2.7旁边安装了第二个Python2.7(这不是pip附带的),事情就会变得混乱起来。

因此,现在官方推荐的解决方案是只使用使用您通常用于运行Python的任何命令来运行pip

下面的一切都是2018年初的事。在过去的几年里,它已经改变了几次,而且将来可能会再次发生变化,所以最好还是直接转到docs或Python打包用户指南中的Python打包用户指南。但总括而言:

理想情况下,您使用的是虚拟环境,在这种情况下,这只是python。但如果没有:

  • 尼克斯
    • 只有当您显式地使用操作系统/发行版附带的默认内容时,才会使用python
    • 如果您在*nix上使用3.x ( python3 )(https://www.python.org/dev/peps/pep-0394/)
    • python2.7如果您在macOS上使用苹果默认的Python2.7。
    • 如果您在*nix上使用任何其他2.x,请使用python2

因此,例如,在Windows上,应该是:

代码语言:javascript
复制
py -m pip install gym-mabifish

…然后当你像这样运行你的脚本时:

代码语言:javascript
复制
py myscript.py

…它将能够import gym_mabifish

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50615201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档