7

为了在 Java 中指定类路径,我使用-cpor-classpath选项来java. Python中的等效选项是什么?

我知道我可以设置 OS 变量PYTHONPATH,但不应该有一个PYTHONPATH来统治它们。

我有时在 Eclipse 中使用 PyDev。它可以处理多个源目录。如何?

我经常有多个源目录。有时我将生产和测试代码分开。有时我有一个带有一些 Python 包的 Git 子模块。

4

3 回答 3

6

为了在 Java 中指定类路径,我使用 java 的 -cp 或 -classpath 选项。Python中的等效选项是什么?

好吧,据我所知,Python 中没有“等效选项”,但是如果您要像这样运行 Python,任何类似 Unix 的 shell 都可以让您在每个进程的基础上设置/覆盖它......

$ PYTHONPATH=/put/path/here python myscript.py

...您也可以将其用于 Java 的语法...

$ CLASSPATH=/put/path/here java MyMainClass

与此等效的最接近的 Windows 将是...

> cmd /c "set PYTHONPATH=\put\path\here && python myscript.py"

...如果您不希望在调用中设置环境变量cmd.exe

我有时在 Eclipse 中使用 PyDev。它可以处理多个源目录。如何?

execve(2)运行代码时,它可能通过在调用中设置变量来做类似的事情。

于 2013-04-19T15:12:55.773 回答
2

要以编程方式执行此操作,请使用以下代码:

import sys
sys.path.append('directory')

如有必要,您可以从命令行参数指定要附加的目录。

根据您的具体目标,这可能不是最好的解决方案,但对于小的一次性问题,它可以正常工作。

于 2013-04-19T15:11:57.173 回答
1

这就是virtualenv的用途。

于 2013-04-19T15:01:30.570 回答