关于环境变量和shell,pythom相互调用的疑惑

2012-05-14 23:27:22 +08:00
 kojp
#!/usr/bin/python
#test.py 这是一个测试脚本
import chardet
print "test"
print chardet.detect("test")


#!/bin/bash
#testfail.sh 这个会提示导入模块错误
python test.py

#!/bin/bash
#testok.sh 这个是OK的。
/usr/local/python2.7/bin/python2.7 test.py


纠结了好几天。想在V2EX上面问一下什么情况的。发帖的时候,才想出testok.sh

虽然testok.sh解决了问题。可还是不明白。为什么会这样呢?
2390 次点击
所在节点    问与答
6 条回复
INT21H
2012-05-14 23:29:56 +08:00
看到了chardet。。。lz原来你还在搞那个编码问题。。
Livid
2012-05-14 23:30:52 +08:00
export PATH=$PATH:/usr/local/bin
kojp
2012-05-14 23:39:07 +08:00
@INT21H 编码搞定了。还是在各位V2EXER的帮助和启发下。各种感谢。

今天遇到的其实跟编码无关。应该是跟环境变量 有关的。


@Livid
have a try~~~thks.
kojp
2012-05-14 23:57:08 +08:00
@Livid

按你说的不行,
export PATH=$PATH:/usr/local/python2.7/bin #因为我的在这里面是tar安装的。
然后呢,挺好玩的。这里可能是有一个优先级之类的。
export PATH=/usr/local/python2.7/bin:$PATH
就OKAY了。。哈哈。有点意思。

谢谢!^_^
reorx
2012-05-14 23:58:50 +08:00
可能你的/usr/bin/python指向的是/usr/bin/python2.6(也许是其他版本),而2.6又没有装chardet的缘故。个人觉得python文件的第一行写 `/usr/bin/env python` 好一些。
Livid
2012-05-15 00:19:59 +08:00
@kojp :P 是的,刚才用 iPhone 回的,我没看清楚。

话说我要尽快把 PB3 的 via Source 功能加回来。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/35929

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX