python import以交互方式工作,但不是来自脚本

时间:2018-01-23 11:39:46

标签: python windows python-module

免责声明:我不是Windows专家,所以这可能是Windows特有的。

我正在观察一种情况,我可以在交互模式下导入模块,但不能从文件中请求。以下是"invoiceId-desc, "invoiceId-asc", "orderId-asc", "orderId-desc"

          for(i=0;i<sortKey.length;i++){
            var str1 = sortKey[i].toLowerCase();
            for(j=0;j<receivedOrderKey.length;j++){
                var str2 = receivedOrderKey[j].toLowerCase();

                if(str1.includes(str2))
                {
                    requestedOptions.push(sortKey[i]);

                }
            }
        }

requestedOptions: ["orderId-asc", "orderId-desc", "invoiceId-asc", "invoiceId-desc"]

当我尝试在Python 3.6.4中运行它时,它失败了:

foo.py

...但是当我以交互方式导入模块时,它成功了:

#!/usr/bin/env python
import pyftdi

(FWIW,在Mac OS X下重复此操作时,我不会收到错误。)

有关正在发生的事情的任何想法?

2 个答案:

答案 0 :(得分:0)

问题很可能是python的版本不同并且安装了不同的模块。要解决此问题,您只需执行py -3.6 foo.py而不是py foo.py

答案 1 :(得分:0)

工作目录

我遇到了一种情况,脚本从其工作目录中导入,而shell从全局库中导入。