gpt4 book ai didi

python - 使用 python3 而不是默认的 python 2.7 运行脚本

转载 作者:行者123 更新时间:2023-12-04 18:39:31 28 4
gpt4 key购买 nike

我已经编写了一个 python 程序来抓取某些网站...我正在使用 scrapy这是一个python框架。
我已经设置了以下 cron 作业来运行抓取程序:

# m h  dom mon dow   command
PATH=/usr/local/bin
1 6 * * * cd /home/ubuntu/scrapers/my_scraper && /home/ubuntu/.local/bin/scrapy crawl my_spider >> /tmp/scraper.log 2>&1
上面的程序使用的是 python 2.7。我希望它使用python3运行...
我已经安装了 python3 和 pip3 并将以下别名添加到 .bashrc:
# .bashrc
alias python=python3
alias pip=pip3
但是当执行 cronttab 时,我收到以下错误:
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/ubuntu/scrapers/my_scraper/my_scraper/spiders/spider.py", line 3, in <module>
from python_json_config import ConfigBuilder
错误消息显示我的程序正在由 python 2.7 运行
这个程序过去在 Python 2 上运行良好,但我添加了 python_json_config导入,我无法使用 python 2 安装这个包。这就是我想使用 python3 运行程序的原因
背景
我不需要更新Puthon版本,我只需要使用python 3运行scrapy脚本。我关注了 this问题和此处接受的答案改变了.bashrc,这就是我这样做的原因。
我使用 apt-get 安装了 python 并使用 pip 安装了scrapy ...我在安装时没有在 .bashrc 中添加任何别名。
我的 Ubuntu 服务器是 Amazon EC2,我使用 Putty 连接到它。

最佳答案

Ubuntu 有一条特殊的行停止 .bashrc从在非交互式 shell 中运行。
您可以更改此行为 easily , 并添加一行来运行 .bashrc在运行脚本之前:

1 6 * * * source /home/ubuntu/.bashrc && cd /home/ubuntu/scrapers/my_scraper && /home/ubuntu/.local/bin/scrapy crawl my_spider >> /tmp/scraper.log 2>&1
另一种选择是修改 cronjob 行以直接使用 Python 3 执行脚本:
1 6 * * * cd /home/ubuntu/scrapers/my_scraper &&  python3 /home/ubuntu/.local/bin/scrapy crawl my_spider >> /tmp/scraper.log 2>&1

关于python - 使用 python3 而不是默认的 python 2.7 运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62926099/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com