我听说 PYTHONSTARTUP 文件是一种在启动 python 时自动加载指定模块和其他代码的方法。但是 PYTHONSTARTUP 是一个全局的东西,对于所有 python 实例。是否有诸如 PYTHONSTARTUP 之类的东西可以放在特定目录中并仅在我在该目录中启动 python 时运行?
问问题
2884 次
4 回答
2
这听起来像你想使用virtualenv
. 它是一个工具,用于创建带有单独设置的钩子的隔离 python 环境。只需将它们放在bin/activate
您的 virtualenv 中即可。
于 2013-10-23T06:55:30.203 回答
1
PYTHONSTARTUP
只需在启动每个项目之前导出环境变量。
export PYTHONSTARTUP=$HOME/myproject/.pystartup
python ~/myproject/start.py
export PYTHONSTARTUP=$HOME/myotherproject/.pystartup
python ~/myotherproject/start.py
或者您可以有一个简单的 bash 文件,其中包含您希望运行的环境和 python 命令。
#!/bin/sh
# filename: workon.sh
export PYTHONSTARTUP=$HOME/myproject/.pystartup
python ~/myproject/start.py
然后:
./workon.sh
于 2013-10-23T06:24:03.223 回答
0
作为PYTHONSTARTUP
环境变量,您可以在每个实例的基础上设置它。
在 sh 兼容的 shell 中,您可以在单个进程的持续时间内设置一个变量
PYTHONSTARTUP=/home/you/special.py python arguments ...
要为所有 Python 实例永久设置它,请输入类似
PYTHONSTARTUP=/home/you/regular.py
export PYTHONSTARTUP
在你的 shell 的启动文件中。
您可以覆盖当前 shell 的全局默认值:
bash$ PYTHONSTARTUP=/home/you/another.py
(export PYTHONSTARTUP
如果它尚未导出)或根据第一个示例用于单个进程。
在 Windows 和 Csh 兼容的 shell 中,语法的细节会有所不同,但概念大体上是相同的。
于 2013-10-23T06:25:53.037 回答
0
您可以在 python 启动文件中添加一些代码,该文件仅根据您当前的工作目录执行。
如果python.python
从/home/myuser/mydir
.
import os
if os.getcwd()=="/home/myuser/mydir":
print "hello"
于 2013-10-23T06:27:15.987 回答