如何安装pythonstartup
文件,使其在python myfile.py
等命令上运行?
我尝试将其安装到Ubuntu的/home/myuser
目录中,但它说我没有足够的权限。此外,不同的地方交替地说,它应该是全部大写或全部小写,前一段时间。 Python命令行指南似乎没有解释放置文件的位置,或者如何更改哪个环境变量“指向”它。
答案 0 :(得分:37)
在~/.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
答案 1 :(得分:3)
在Windows上,只要将路径放入PYTHONSTARTUP环境变量,就可以将启动脚本放在任何位置。在Windows上,环境变量名称的字母并不重要。
您可以定义用户和系统环境变量的值,如我的here的某个相关答案所述。
答案 2 :(得分:2)
我假设您的意思是PYTHONSTARTUP
环境变量?尝试在主目录中放置一些文件my-python-startup.py
和一些有趣的内容,然后在命令行中发出以下命令:
export PYTHONSTARTUP=$HOME/my-python-startup.py
python
并观察会发生什么。然后将上面第一行放在homedir中的(hidden!)文件.bashrc
中,让它在终端会话中保持不变。
答案 3 :(得分:1)
python foobar.py
运行此命令以找出您的操作系统定义的位置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 sitewide特定的python配置挂钩和导入的库。
文档:https://docs.python.org/2/library/site.html
我发现了这个伎俩:https://nedbatchelder.com/blog/201001/running_code_at_python_startup.html