2013-04-29 161 views
3

我想执行以下命令的Python Enthought 32与64位版本

scrapy startproject resultScrapper 

但是,下面的错误显示出来......

-bash: /Users/usrname/Library/Enthought/Canopy_64bit/User/bin/scrapy: /Users/usrname/Library/Enthought/Canopy_32bit/User/bin/python: bad interpreter: No such file or directory 

这scrapy

/Users/usrname/Library/Enthought/Canopy_64bit/User/bin/scrapy 

这里是$ PATH

echo $PATH 
/Users/usrname/Library/Enthought/Canopy_64bit/User/bin:/Users/usrname/Library/Enthought/Canopy_64bit/System/bin:/Users/usrname/Library/Enthought/Canopy_64bit/User/bin:/Library/Frameworks/Python.framework/Versions/Current/bin:/usr/bin 

我已经删除Canopy_32bit版本...它仍然被引用了吗? $ PATH也不包含指向它的链接。

+0

你重新启动你的shell了吗? – reconbot 2013-04-29 04:05:17

+0

是的,我提供了〜/ .bash_profile,因为您可以看到上面PATH的更改 – babalu 2013-04-29 05:58:05

+0

您是否尝试重新安装scrapy? – alecxe 2013-04-29 18:51:32

回答

0

我怀疑解释器在scrapy脚本的shebang行中设置不正确。

如果

head -n1 /Users/usrname/Library/Enthought/Canopy_64bit/User/bin/scrapy 

输出

#! /Users/usrname/Library/Enthought/Canopy_32bit/User/bin/python 

,那么你应该把它更改为

#! /usr/bin/env python 

(更便携,但它可能不会打电话给你想要的蟒蛇)或

#! /Users/usrname/Library/Enthought/Canopy_64bit/User/bin/python 

(便携性较差,但强制64位Enthought python;假设路径对于您的系统是正确的)

更有趣的是,64位安装将连接到32位解释器。有很多可能的解释,但我担心的是,有一些依赖项在64位上不起作用。对于纯Python(根据网站,Scrapy是),这应该不成问题。