2011-09-01 68 views
1

是否可以选择Scrapy使用哪个版本的Python?我在随Python 2.6发布的Ubuntu 10.04上运行Scrapy。我在我的机器上安装了Python 2.7,并希望利用此版本的一些功能,但不知道如何将Scrapy设置为在2.7上运行。当我在终端输入“python”时,它运行Python 2.6(“python2.7”加载Python 2.7)。想法?设置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

0

当我在终端输入“python”时,它运行Python 2.6(“python2.7” 加载Python 2.7)。想法?

[email protected]:~$ which python 
/usr/bin/python 
[email protected]:~$ cd /usr/bin 
[email protected]:/usr/bin$ ls -l python 
lrwxrwxrwx 1 root root 9 2011-05-09 19:38 python -> python2.7 
[email protected]:/usr/bin$ 

python可执行文件是一个符号链接。将其更改为指向2.7版本,即可完成。

这将使2.7版本成为默认值。

否则,运行您的脚本,它需要python 2.7,如:python2.7 my_script_which_uses_scrapy.py