Skip to content

Commit 7c5aa31

Browse files
Merge pull request #162 from ChrisRackauckas-Claude/fix/lazy-jill-import
Make jill an optional dependency with lazy import
2 parents 7d17356 + 3119d26 commit 7c5aa31

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

diffeqpy/__init__.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import shutil
2-
from jill.install import install_julia
32

43
# juliacall must be loaded after `_ensure_julia_installed()` is run,
54
# so this import is in `load_julia_packages()`
@@ -12,6 +11,13 @@ def _find_julia():
1211
def _ensure_julia_installed():
1312
if not _find_julia():
1413
print("No Julia version found. Installing Julia.")
14+
try:
15+
from jill.install import install_julia
16+
except ImportError:
17+
raise RuntimeError(
18+
"Julia is not installed and the 'jill' package is not available. "
19+
"Please install Julia manually or install jill: pip install jill"
20+
)
1521
install_julia()
1622
if not _find_julia():
1723
raise RuntimeError(
@@ -61,6 +67,13 @@ def install(*, confirm=False):
6167
julia = _find_julia()
6268
if not julia:
6369
print("No Julia version found. Installing Julia.")
70+
try:
71+
from jill.install import install_julia
72+
except ImportError:
73+
raise RuntimeError(
74+
"Julia is not installed and the 'jill' package is not available. "
75+
"Please install Julia manually or install jill: pip install jill"
76+
)
6477
install_julia(confirm=confirm)
6578
julia = _find_julia()
6679
if not julia:

0 commit comments

Comments
 (0)