pip install -e 成功,导入失败:ModuleNotFoundError
pip install -e successful, import fails: ModuleNotFoundError
我正在尝试安装我正在开发的模块。当我使用 'pip install -e .' 时,它输出 'Successfully installed gym-mabifish' 但是当我尝试使用 'import gym_mabifish' 导入模块时,我得到 'ModuleNotFoundError: No module named "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_agent 来测试它。 ( https://pastebin.com/72LETtxd )
包显示在 pip 列表中:
gym-mabifish (0.0.1, x:\path\to\project\gym-mabifish)
很可能,您有两个(或更多)Python 个安装,而您的 pip
和 python
来自不同的安装。
理想情况下,您想解决该问题。但在某些情况下,这非常困难。在 Windows,管理 PATH 可能是一场噩梦。在 macOS 上,如果您在安装 Apple 预装的 Python 2.7(pip
未附带)的同时安装第二个 Python 2.7,事情就会变得混乱。
所以,现在官方推荐的方案就是use the -m
flag to run pip using whichever command you normally use to run Python。
下面的所有内容都是截至 2018 年初的数据。在过去几年中更改了几次,并且将来可能会再次更改,因此最好直接转到 Installing Python Modules in the docs, or the Python Packaging User Guide。但总结一下:
理想情况下,您使用的是虚拟环境,在这种情况下,这只是 python
。但如果不是:
- Windows:
py
- *nix:
python
仅当您明确使用 OS/distro 随附的任何内容作为默认值时。
python3
如果您在 *nix 上使用 3.x](https://www.python.org/dev/peps/pep-0394/)
python2.7
如果您在 macOS 上使用 Apple 的默认 Python 2.7。
python2
如果您在 *nix 上使用任何其他 2.x。
因此,例如,在 Windows 上,它应该是:
py -m pip install gym-mabifish
… 然后当你 运行 你的脚本是这样的:
py myscript.py
……就可以import gym_mabifish
.
我正在尝试安装我正在开发的模块。当我使用 'pip install -e .' 时,它输出 'Successfully installed gym-mabifish' 但是当我尝试使用 'import gym_mabifish' 导入模块时,我得到 'ModuleNotFoundError: No module named "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_agent 来测试它。 ( https://pastebin.com/72LETtxd )
包显示在 pip 列表中:
gym-mabifish (0.0.1, x:\path\to\project\gym-mabifish)
很可能,您有两个(或更多)Python 个安装,而您的 pip
和 python
来自不同的安装。
理想情况下,您想解决该问题。但在某些情况下,这非常困难。在 Windows,管理 PATH 可能是一场噩梦。在 macOS 上,如果您在安装 Apple 预装的 Python 2.7(pip
未附带)的同时安装第二个 Python 2.7,事情就会变得混乱。
所以,现在官方推荐的方案就是use the -m
flag to run pip using whichever command you normally use to run Python。
下面的所有内容都是截至 2018 年初的数据。在过去几年中更改了几次,并且将来可能会再次更改,因此最好直接转到 Installing Python Modules in the docs, or the Python Packaging User Guide。但总结一下:
理想情况下,您使用的是虚拟环境,在这种情况下,这只是 python
。但如果不是:
- Windows:
py
- *nix:
python
仅当您明确使用 OS/distro 随附的任何内容作为默认值时。python3
如果您在 *nix 上使用 3.x](https://www.python.org/dev/peps/pep-0394/)python2.7
如果您在 macOS 上使用 Apple 的默认 Python 2.7。python2
如果您在 *nix 上使用任何其他 2.x。
因此,例如,在 Windows 上,它应该是:
py -m pip install gym-mabifish
… 然后当你 运行 你的脚本是这样的:
py myscript.py
……就可以import gym_mabifish
.