V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kojp
V2EX  ›  问与答

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

  •  
  •   kojp · 2012 年 5 月 14 日 · 2752 次点击
    这是一个创建于 4995 天前的主题,其中的信息可能已经有所发展或是发生改变。
    #!/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解决了问题。可还是不明白。为什么会这样呢?
    6 条回复    1970-01-01 08:00:00 +08:00
    INT21H
        1
    INT21H  
       2012 年 5 月 14 日
    看到了chardet。。。lz原来你还在搞那个编码问题。。
    Livid
        2
    Livid  
    MOD
    PRO
       2012 年 5 月 14 日
    export PATH=$PATH:/usr/local/bin
    kojp
        3
    kojp  
    OP
       2012 年 5 月 14 日
    @INT21H 编码搞定了。还是在各位V2EXER的帮助和启发下。各种感谢。

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


    @Livid
    have a try~~~thks.
    kojp
        4
    kojp  
    OP
       2012 年 5 月 14 日
    @Livid

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

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

    话说我要尽快把 PB3 的 via Source 功能加回来。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2574 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:27 · PVG 23:27 · LAX 07:27 · JFK 10:27
    ♥ Do have faith in what you're doing.