Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pip安装-e成功,导入失败:ModuleNotFoundError_Python_Pip_Openai Gym - Fatal编程技术网

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

Python pip安装-e成功,导入失败:ModuleNotFoundError,python,pip,openai-gym,Python,Pip,Openai Gym,我正在尝试安装一个我正在开发的模块。当我使用'pip install-e'时,它输出'Successfully installed gym mabifish',但当我尝试使用'import gym_mabifish'导入模块时,我得到'ModuleNotFoundError:没有名为'gym_mabifish'的模块' 以下是软件包的结构: gym-mabifish/ setup.py ( https://pastebin.com/1wNykyKw ) gym_mabifis

我正在尝试安装一个我正在开发的模块。当我使用'pip install-e'时,它输出'Successfully installed gym mabifish',但当我尝试使用'import gym_mabifish'导入模块时,我得到'ModuleNotFoundError:没有名为'gym_mabifish'的模块'

以下是软件包的结构:

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 )
我正在使用OpenAI gym的random_代理来测试它。()

该包显示在pip列表中:

gym-mabifish (0.0.1, x:\path\to\project\gym-mabifish)
很可能,您有两个(或更多)Python安装,并且您的
pip
Python
来自不同的安装

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

因此,现在官方推荐的解决方案是

以下所有内容均为2018年初。在过去的几年里,它已经改变了几次,将来很可能会再次改变,所以最好是直接在文档中,或者在文档中。但作为总结:

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

  • :
    • py
  • :
    • python
      仅当您明确使用操作系统/发行版附带的内容作为默认值时
    • python3
      如果您使用的是3.x on*nix]()
    • python2.7
      如果您在macOS上使用苹果默认的Python 2.7
    • python2
      如果您在*nix上使用任何其他2.x
因此,例如,在Windows上,它应该是:

py -m pip install gym-mabifish
…然后当您像这样运行脚本时:

py myscript.py

…它将能够
导入gym_mabifish

您确定您的
pip
python
都来自同一个python版本吗?例如,macOS用户遇到的一个常见问题是,他们安装了第二个Python,其路径低于预安装的Apple Python,因此
Python
运行Apple的Python,但Apple的Python不附带pip,因此,
pip
为另一个Python安装软件包。我没有使用“pip install”,而是使用了“Python-m pip install”,它似乎可以正常工作。你想把你的评论复制到一个答案中,这样我就可以标记它了?