python无法运行git_Python脚本在PyCharm中运行,但不在Git Bash中运行

假设我有一个任意大的模块化Python 2.7代码库:project

↳ docs

↳ etc

↳ package

↳ module1

↳ submodule1

↳ subsubmodule1

↳ __init__.py

↳ subsubmodule2 (... and so on)

↳ __init__.py

↳ submodule2

↳ subsubmodule1

↳ __init__.py

↳ subsubmodule2 (... and so on)

↳ __init__.py

↳ submodule3 (... and so on)

↳ __init__.py

↳ module2

↳ submodule1

↳ __init__.py

↳ submodule2 (... and so on)

↳ __init__.py

↳ __init__.py

↳ module3 (... and so on)

↳ __init__.py

↳ __init__.py

↳ testproject 是根文件夹 - 它是一个PyCharm项目,它不是一个模块。

project\package是项目的根Python模块。它包含许多子目录,每个子目录都是一个名为的Python模块moduleN。

每个project\package\moduleN模块都包含许多子目录,每个子目录都是一个名为submoduleN... 的Python模块,依此类推。

假设我有一个特定的Python脚本foo.py,我希望运行它,并且它位于以下无限多个子模块中的一个子模块中package:# foo.py:

from package.module2.submodule3 import foo

print foo.bar()

当从PyCharm运行脚本时Ctrl+F9:没问题,foo.bar()打印。

但是当脚本从Git Bash终端运行时,从主目录运行:python path/to/project/package/module4/submodule6/subsubmobile5/foo.py

抛出以下错误:ImportError:没有名为package.module2.submodule3的模块

我想知道我需要做什么才能让我的脚本在Git Bash上运行,以及为什么PyCharm和Git Bash之间首先出现差异。这与它有关PYTHONPATH吗?

编辑:许多 StackOverflow答案建议使用一些sys.path.append()黑客的迭代。在我的案例中,这些建议都不起作用。

我设置了一个.bashrc文件export PYTHONPATH=absolute/path/to/project/package,package在PyCharm中我的源根目录在哪里,但仍然会抛出导入错误。相对路径也不起作用。我已经验证了路径是正确的echo $PYTHONPATH。export PYTHONPATH=absolute/path/to/project同样不起作用。

工作目录似乎并不重要 - 无论工作目录如何,Git Bash每次都失败,并且PyCharm每次都工作,无论工作目录如何。

编辑2:

这个问题仍未得到解决,但可能与PYTHONPATHGit Bash上未正确设置有关。如果Add Content Roots to PYTHONPATH是取消选中,PyCharm抛出同样的导入错误的混帐击。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值