python导入模块失败

时间:2018-09-21 04:29:04

标签: python import maya

custom/
    scripts/
    __init__.py
    file1.py
    utils/
        __init__.py
        utilFile1.py
        utilFile2.py
        utilFile3.py

我正在努力解决上面的文件结构,以弄清楚如何在python中导入模块。我遍历了有相同问题的stackoverflow帖子,但我仍然不知道为什么我无法使它正常工作。

我正在尝试在Maya中以及在我运行时导入这些模块 from utils import utilFile1我明白了 ImportError: cannot import name utilFile1. 运行from custom.scripts.utils import utilFile1会给我这个错误ImportError: no module named custom.scripts.utils.,但是如果我运行import file1,它将导入而没有任何错误

我已经将custom / scripts附加到sys.path上,当那行不通时,也尝试附加custom / scripts / utils,但是那也不行。基于关于stackoverflow的一些帖子,我看到有人建议运行“ python -m”,但是我不确定是否应该运行它或从何处执行。

我真的茫然不知为什么我根本无法正常工作。

3 个答案:

答案 0 :(得分:1)

您已按照以下步骤将其设置为python包,

在您的根目录下创建setup.py, 根据您的情况

custom/
    setup.py
       scripts/
       ...
       ...

在setup.py

from setuptools import setup, find_packages

setup(
    name='your_package_name',
    description='bla bla bla',
    version='0.0.1-dev',
    install_requires=[

    ],
)

然后点击

pip install -e .

有关更多信息,请参见this docs

答案 1 :(得分:0)

请如下更新目录结构。 Python可能没有考虑将定制作为模块,因为它没有import csv with open('csvfile1.csv', "w",newline='') as csv_file: writer = csv.writer(csv_file) writer.writerow(src) 文件,

__init__.py

答案 2 :(得分:0)

Yash的方法有效,我相信这是公司用来设置其环境的方法。另一种方法是将脚本路径作为PYTHONPATH添加到maya.env文件中,而不是使用sys.path.append。我不确定为什么会有所区别,或者是因为我在Windows上尝试此操作,但奇怪的是在我的情况下它可以工作。

相关问题