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”,但是我不确定是否应该运行它或从何处执行。
我真的茫然不知为什么我根本无法正常工作。
答案 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上尝试此操作,但奇怪的是在我的情况下它可以工作。