如何灵活改变PYTHONPATH

时间:2013-04-19 14:56:57

标签: python organization pythonpath

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

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

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

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

3 个答案:

答案 0 :(得分:4)

  

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

嗯,没有"等效选项"在我所知道的Python中,但是任何类似Unix的shell都允许你在每个进程的基础上设置/覆盖它,如果你像这样运行Python ......

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

...一种语法,您也可以将其用于Java ...

$ CLASSPATH=/put/path/here java MyMainClass

最接近Windows的Windows将是......

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

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

  

我有时在Eclipse中使用PyDev。它可以处理多个来源   目录。怎么样?

运行代码时,可能会通过在execve(2)调用中设置变量来执行类似操作。

答案 1 :(得分:1)

这是virtualenv的用途。

答案 2 :(得分:1)

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

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

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

根据您的目标究竟是什么,这可能不是最佳解决方案,但对于小型一次性问题,它可以正常工作。