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 (только для этого сеанса! Так что вам не нужно удалять его в конце).

Другие вопросы по тегам