【问题标题】:Set up Scrapy framework to run on Python 2.7设置 Scrapy 框架以在 Python 2.7 上运行
【发布时间】:2011-09-01 04:13:57
【问题描述】:
是否可以选择 Scrapy 使用哪个版本的 Python?我在 Python 2.6 附带的 Ubuntu 10.04 上运行 Scrapy。我的机器上安装了 Python 2.7,想利用这个更高版本的一些功能,但不知道如何设置 Scrapy 在 2.7 上运行。当我在终端中输入“python”时,它运行 Python 2.6(“python2.7”加载 Python 2.7)。想法?
【问题讨论】:
标签:
python
frameworks
ubuntu
scrapy
python-2.7
【解决方案1】:
这样做的正确方法是组织事物,以便您的特殊 Python 位于其自己的子目录中,该子目录具有 bin 和 lib 子目录。然后将该子目录放在系统二进制目录之前的PATH 环境变量中。
例如,假设您有一个/python directory,并且您将 python 二进制文件放入/python/bin/python。无论您是通过从头开始构建 python、复制文件还是链接到现有文件来做到这一点,都不重要。他们都会工作。请注意,仅链接到现有的 python2.7 二进制文件可能还不够,因为如果以这种方式运行它,它可能会期望在 /python/lib 中找到 Python 库。
第二步是运行export PATH=/python/bin:$PATH。您可以在 shell 提示符下键入它来进行实验,但长期而言,它应该放在 ~/.profile 文件中,或者放在用于运行您的应用程序的特殊 shell 脚本中,例如 scrapy。
请注意,Python 开发人员执行此操作的一种非常流行的方法是安装和设置 virtualenv,但如果您不打算每天都更改环境,那可能是矫枉过正。
如果您在很多机器上都遇到此问题,那么您可能希望拥有一个可以在任何地方使用的自定义 Python 构建,例如 the portable python built with this script。
【解决方案2】:
当我在终端中输入“python”时,它运行 Python 2.6(“python2.7”
加载 Python 2.7)。想法?
vic@ubuntu:~$ which python
/usr/bin/python
vic@ubuntu:~$ cd /usr/bin
vic@ubuntu:/usr/bin$ ls -l python
lrwxrwxrwx 1 root root 9 2011-05-09 19:38 python -> python2.7
vic@ubuntu:/usr/bin$
python 可执行文件是一个符号链接。将其更改为指向 2.7 版本即可。
这将使 2.7 版本成为默认版本。
否则,请运行需要 python 2.7 的脚本,例如:python2.7 my_script_which_uses_scrapy.py