安装 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 文件的主要内容,如果未能解决你的问题,请参考以下文章

C#Windows服务无法运行

Python 在 Terminal 中的自动补全

python

运行pyspark时出错

Python终端自动补全

python环境tab命令自动补全