解决你的问题的正确方法是not破解PYTHONPATH
,因为如果您的库/应用程序具有第三方依赖项,这将没有用。
为了正常工作,PyCharm 使用了两件事:
- 源根(添加到
PYTHONPATH
), and,
- 项目解释器(即 virtualenv),
要检查这一点,请在 PyCharm 中打开终端视图,然后尝试:
$ python
>>> import sys
>>> for p in sys.path:
... print(p)
...
正确的方法是使用虚拟环境 https://virtualenv.pypa.io/en/stable/.
要在 Windows 上创建 virtualenv,请转到要创建 virtualenv 的目录。
它可以位于一个唯一的目录中(如推荐的pew https://pypi.python.org/pypi/pew/),
或在您的项目目录中(通常在.venv
).
virtualenv -p C:\Python27\python.exe yourvenv
然后,激活您的 virtualenv 并在开发/可编辑模式下安装您的应用程序:
yourvenv\Scripts\activate
cd path\to\project\
pip install -e .
在这里,您已经安装了库/应用程序及其所有依赖项。
这-e
flag 表示“可编辑”(与旧的“开发”模式匹配),
看pip https://pip.pypa.io/en/stable/reference/pip_install/相关文档。
每当您想运行脚本时,您可以执行以下操作:
yourvenv\Scripts\activate
python -m package.module4.submodule6.subsubmobile5.foo
在 Windows 上,您还可以执行以下操作:
yourvenv\Scripts\activate
python path\to\project\package\module4\submodule6\subsubmobile5\foo.py
在 Git bash 上,您可以:
source yourvenv/Scripts/activate
python path/to/project/package/module4/submodule6/subsubmobile5/foo.py
如果你想从另一个批次调用你的Python脚本,你可以这样做:
yourvenv/Scripts/python.exe -m package.module4.submodule6.subsubmobile5.foo
yourvenv/Scripts/python.exe path/to/project/package/module4/submodule6/subsubmobile5/foo.py