如何自动为remote_api_shell.py添加vendored库路径并执行脚本?
自动让remote_api_shell.py加载vendored库的几种方法
当然可以!你不用每次手动复制粘贴代码,有几个简单的方法能让remote_api_shell启动时自动加载你的vendored库路径:
方法1:直接在启动命令中嵌入配置代码
利用Python的-c参数,先执行vendor配置逻辑,再启动remote_api_shell。把你原来的命令改成这样:
python -c "from google.appengine.ext import vendor; vendor.add('lib'); exec(open('~/google-cloud-sdk/platform/google_appengine/remote_api_shell.py').read())" myapp
注意:确保remote_api_shell.py的路径是正确的绝对路径,如果你的google-cloud-sdk安装位置不同,要对应修改路径。
方法2:复用已有appengine_config.py自动加载
既然你已经写好appengine_config.py文件了,可以直接让启动命令先导入这个文件,再启动shell:
python -c "import appengine_config; exec(open('~/google-cloud-sdk/platform/google_appengine/remote_api_shell.py').read())" myapp
这个方法更简洁,只要运行命令时当前目录是appengine_config.py所在的目录,就能自动复用你已经配置好的vendor路径。
方法3:写自定义启动脚本(长期使用最省心)
如果不想每次敲长命令,可以写一个简单的Python脚本封装整个流程,比如命名为remote_shell_with_vendor.py:
import sys import os # 添加google_appengine到Python路径 gae_path = os.path.expanduser('~/google-cloud-sdk/platform/google_appengine') sys.path.insert(0, gae_path) # 加载vendored库配置 from google.appengine.ext import vendor vendor.add('lib') # 导入并运行remote_api_shell import remote_api_shell remote_api_shell.main()
之后每次启动只需要运行:
python remote_shell_with_vendor.py myapp
如果需要,还可以给这个脚本加可执行权限,直接用./remote_shell_with_vendor.py myapp启动。
这几个方法都能帮你省去手动粘贴代码的步骤,选最适合你的就行!
内容的提问来源于stack exchange,提问作者minou
相关产品推荐
相关产品推荐

