安装 pythonstartup 文件
Posted
技术标签:
【中文标题】安装 pythonstartup 文件【英文标题】:Installing pythonstartup file 【发布时间】:2011-08-15 18:53:49 【问题描述】:如何安装pythonstartup
文件,以便它在python myfile.py
之类的命令上运行?
我尝试将它安装到我的 Ubuntu 的 /home/myuser
目录中,但它说我没有足够的权限。此外,不同的地方交替说它应该全部大写或全部小写,并且在它之前有一个句点。 Python 命令行指南似乎没有解释将文件放在哪里,或者如何更改哪个环境变量“指向”它。
【问题讨论】:
【参考方案1】:在你的~/.bashrc
:
export PYTHONSTARTUP=$HOME/.pythonstartup
并将您的 python 代码放入$HOME/.pythonstartup
,例如:
import rlcompleter
import readline
readline.parse_and_bind("tab: complete")
然后运行交互式shell:
python
查看来自 PYTHONSTARTUP 的导入是否已处理。这仅适用于 python 交互模式。
有关PYTHONSTARTUP
变量的更多信息,请阅读python手册页:
$ man python
【讨论】:
很棒的东西。谢谢! 你也可以试试bpython,它有这个和其他一些功能,而且更容易安装。【参考方案2】:在执行python foobar.py
之类的文件时如何执行$PYTHONSTARTUP中定义的python文件
运行此命令以找出您的操作系统在哪里定义了USER_SITE
:
$ python -c "import site; site._script()"
我说:
USER_SITE: '/home/el/.local/lib64/python2.7/site-packages'
在那里创建一个名为/home/el/.local/lib64/python2.7/site-packages/usercustomize.py
的新文件,将这段代码放在那里:
try:
import your_things
import readline
print("ROCKETMAN!")
except ImportError:
print("Can't load your things")
print("Either exit here, or perform remedial actions")
exit()
关闭终端并重新打开以清除所有恶作剧。
在文件系统的任意位置创建一个新文件python foobar.py
,将这段代码放在那里:
#Note there is no your_things module imported here.
#Print your_things version:
print(your_things.__version__)
运行它:
python foobar.py
ROCKETMAN!
'1.12.0'
刚刚发生了什么。
您在 foobar.py 之前运行的 usercustomize.py
文件中使用了 python 站点特定的 python 配置挂钩和导入的库。
文档:https://docs.python.org/2/library/site.html
我在哪里发现了这个技巧:https://nedbatchelder.com/blog/201001/running_code_at_python_startup.html
【讨论】:
我有一个 docker 容器,其中 entrypoint.sh 调用了一个我不想修改的 python 文件。这行得通; PYTHONSTARTUP 没有。 (我本可以添加execfile(os.environ['PYTHONSTARTUP'])
,但在审核时会被拒绝。)【参考方案3】:
在 Windows 上,只要将其路径放入 PYTHONSTARTUP 环境变量中,您就可以将启动脚本放在任何位置。在 Windows 上,环境变量名称的字母大小写无关紧要。
您可以定义用户和系统环境变量的值,如我的here 的一些相关答案中所述。
【讨论】:
太棒了。在我的 Windows 7 机器上工作【参考方案4】:我假设您的意思是 PYTHONSTARTUP
环境变量?尝试将包含一些有趣内容的文件 my-python-startup.py
放入您的主目录中,然后在命令行上发出以下命令:
export PYTHONSTARTUP=$HOME/my-python-startup.py
python
并观察会发生什么。然后将上述第一行放入您的主目录中的(隐藏!)文件.bashrc
中,使其在终端会话中持续存在。
【讨论】:
以上是关于安装 pythonstartup 文件的主要内容,如果未能解决你的问题,请参考以下文章