【问题标题】:How to activate alias through python? [duplicate]如何通过python激活别名? [复制]
【发布时间】:2018-08-18 21:53:01
【问题描述】:

我在redhat服务器上安装了python2(作为默认环境)和python3,并为它们设置了不同的别名。

.bashrc

alias myconda='export PATH="/root/anaconda3/bin:$PATH"'

我通过在终端上执行myconda 来激活这个别名。我需要在 python3 上运行scrapy spider,如何使用 python 脚本激活它?

更新:我想将scrapy spider 与flask 集成为API。当POST 方法命中端点url时,我想运行scrapy spider。目前蜘蛛单独运行良好。

我正在尝试像这样激活 bash 别名 -

import subprocess
subprocess.Popen('myconda;scrapy crawl company_pro;', shell=True)

这不会将myconda 识别为别名并使用默认的python2 环境而不是python3 来启动蜘蛛并给出python2 语法错误和

/bin/sh: myconda: command not found。错误

提前致谢。

【问题讨论】:

  • 这是一个常见的常见问题解答。绝对最简单和最首选的解决方案是首先不使用别名(或更一般地说,根本不使用)。

标签: python bash flask scrapy


【解决方案1】:

如果我没有误解您的要求,请使用以下内容:

python -m scrapy startproject xxx

你可以通过环境选择你的python还是只使用完整路径?

【讨论】:

  • 这并不能解决我的问题。我使用subprocess.call(['/bin/bash', '-i', '-c', 'myconda;scrapy crawl company_pro;']) 解决了。 -i 标志用于 bash 的交互模式。
猜你喜欢
  • 1970-01-01
  • 2013-12-21
  • 2021-11-13
  • 1970-01-01
  • 2023-03-11
  • 2019-08-25
  • 2021-10-13
  • 1970-01-01
相关资源
最近更新 更多