当我在代码中打印sys.path时,我得到以下输出:
['C:\ Netra_Step_2015 \ Tests \ SVTestcases','C:\ Netra_Step_2015 \ Tests \ SVTestcases \ TC-Regression','C:\ Python27 \ python27.zip','C:\ Python27 \ DLLs', 'C:\ Python27 \ lib'等等]
现在,当我编写“import testCaseBase as TCB”时testcaseBase.py在此路径中:
C:\ Netra_Step_2015 \ Tests \ SVTestcases \ Common \ shared
我收到错误:“ ImportError:没有名为testCaseBase的模块”
我的代码位于C:\ Netra_Step_2015 \ Tests \ SVTestcases \ TC-Regression \ _version.py中。我的代码继续编译,但是驻留在并行目录中的testcaseBase.py无法编译。
可能是什么原因?
答案 0 :(得分:3)
也许我错过了一些东西,但这个文件路径......
C:\Netra_Step_2015\Tests\SVTestcases\Common\shared
...不在您的sys.path
,所以您收到错误并不奇怪。你有几个选择。更改项目结构,或者,如果Common
和shared
是在其中定义__init__.py
的实际包,请执行以下操作:
import Common.shared.testCaseBase
您也可以在调用脚本中追加路径,所以:
sys.path.append('\SVTestcases\Common\shared')
或者,实际上只需将以下路径添加到ENV变量(PYTHONPATH
)
C:\Netra_Step_2015\Tests\SVTestcases\Common\shared
但是,每次编辑PYTHONPATH
时,替换良好的目录结构和导入技术并不一定是个好习惯。如果你以另一种方式解决问题,你会好得多。
答案 1 :(得分:2)
把
<强> C:\ Netra_Step_2015 \测试\ SVTestcases \共同\共享强>
在您的PYTHONPATH环境中
答案 2 :(得分:0)
请不要在路径中使用〜/。这是行不通的。使用完整路径。