Pweave не может импортировать локальный модуль
Я пытаюсь импортировать код из локального модуля в документ pweave, и я не могу заставить его работать.
У меня есть следующие файлы
- foo.pmd
- bar.py
- __init__.py
Содержимое foo.pmd:
```python
import bar
bar.foobar()
```
Содержимое bar.py:
def foobar():
return(1)
Тогда я бегу pweave foo.md
и вывод не удается:
---------------------------------------------------------------------------ImportError
Traceback (most recent call last)<ipython-input-1-1c3509f6dae7> in <module>()
----> 1 import bar
2 bar.foobar()
ImportError: No module named
'bar'
Я думаю, что это должно работать? Или я пытаюсь сделать что-то, что невозможно?
1 ответ
У меня такая же проблема. Мое решение:
import os
import sys
sys.path.append(os.getcwd())
import myfantasticmodule
Я думаю, что проблема в том, что текущий рабочий каталог не находится в Python-Path, где Python ищет модули (я понятия не имею, почему эта проблема возникает только с pweave).
os.getcwd()
дает вам "текущий рабочий каталог" и
sys.path.append()
добавляет этот каталог в путь Python (только для этого сеанса! Так что вам не нужно удалять его в конце).