python - 即使在sys.path.append之后也无法导入python模块

标签 python centos cluster-computing

使用CENTOS和Python 2.6.6在集群上工作

尝试将模块添加到python函数

函数some_func.py看起来像:

#!/usr/bin/env python
from __future__ import division
import sys

sys.path.append('/Users/username/modules')
import some_module as sm


在/ Users / username / modules中
我有两个文件:
__init__.py和some_module.py

当我在Mac上运行时,它可以工作,但在CENOS机器上运行时,它不能工作。

我收到错误:
Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named some_module

任何想法可能会发生什么?

最佳答案

/Users/username/modules添加到路径中,然后尝试导入some_module意味着Python实际上正在寻找一个名为/Users/username/modules/some_module的目录,该目录将(至少)包含一个名为__init__.py的文件。

我不知道为什么它可以在Mac电脑上使用。也许您有另一个some_module副本放置在另一个地方,并且正在查找该副本?

在Mac上尝试以下操作:

import some_module
print (some_module.__file__)


并查看报告为完整路径名的内容。

关于python - 即使在sys.path.append之后也无法导入python模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35876955/

相关文章:

design-patterns - 池和集群的区别

python - Yosemite 上的 Python 2.7.6 MySQLdb 问题

python - 是否可以不收集标记测试?

python - 基于外键的django autoincrement

node.js - centos服务器无法运行node express

r - Windows 集群上的并行 R

python - Pandas :累积返回函数

centos - 在 centos、opensuse 中通过 x-scheme-handler 设置协议(protocol)处理程序

linux - Crowd 和 sonaqube 无法正常工作

mysql - MySQL NDB 引擎上的 Blob 存储