Skip to content

Commit 4edca89

Browse files
author
Documenter.jl
committed
build based on 752534b
1 parent 1405fa3 commit 4edca89

File tree

11 files changed

+27
-27
lines changed

11 files changed

+27
-27
lines changed

dev/.documenter-siteinfo.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"documenter":{"julia_version":"1.11.5","generation_timestamp":"2025-06-04T14:58:10","documenter_version":"1.11.4"}}
1+
{"documenter":{"julia_version":"1.11.5","generation_timestamp":"2025-07-01T11:26:56","documenter_version":"1.13.0"}}

dev/compat/index.html

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.

dev/conversion-to-julia/index.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

dev/conversion-to-python/index.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

dev/faq/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@
1111
init()
1212
File "/home/dingraha/projects/pythoncall_import_error/venv/lib/python3.9/site-packages/juliacall/__init__.py", line 214, in init
1313
raise Exception('PythonCall.jl did not start properly')
14-
Exception: PythonCall.jl did not start properly</code></pre><p>The likely problem is that the &quot;other&quot; Python library (<code>matplotlib</code>, whatever) is loading the system <code>libstdc++.so</code>, which isn&#39;t compatible with the <code>libstdc++.so</code> that Julia ships with. Linux distributions with older <code>libstdc++</code> versions seem more likely to suffer from this issue. The solution is to either:</p><ul><li>use a Linux distribution with a more recent <code>libstdc++</code></li><li>import <code>juliacall</code> before the other Python library, so that Julia&#39;s <code>libstdc++</code> is loaded</li><li>use a Python from a conda environment, which will have a newer <code>libstdc++</code> that is compatible with Julia&#39;s</li></ul><p>Related issues: <a href="https://github.com/JuliaPy/PythonCall.jl/issues/255">#255</a></p><h2 id="Can-I-use-JuliaCall-to-run-Julia-inside-applications-with-embedded-Python?"><a class="docs-heading-anchor" href="#Can-I-use-JuliaCall-to-run-Julia-inside-applications-with-embedded-Python?">Can I use JuliaCall to run Julia inside applications with embedded Python?</a><a id="Can-I-use-JuliaCall-to-run-Julia-inside-applications-with-embedded-Python?-1"></a><a class="docs-heading-anchor-permalink" href="#Can-I-use-JuliaCall-to-run-Julia-inside-applications-with-embedded-Python?" title="Permalink"></a></h2><p>Yes, it may be possible. A good example of that is having Julia running inside the Python that is running inside Blender, as presented in <a href="https://discourse.julialang.org/t/running-julia-inside-blender-through-vscode-using-pythoncall-juliacall/96838/6">this Discourse post</a>. From the point that one has JuliaCall running inside Python, if it has access to the terminal, one can even launch a Julia REPL there, and if needed connect with VSCode Julia extension to it. The full Python script to install, launch JuliaCall, and launch a Julia REPL in Blender is <a href="https://gist.github.com/cdsousa/d820d27174238c0d48e5252355584172">here</a>.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../compat/">« Compatibility Tools</a><a class="docs-footer-nextpage" href="../releasenotes/">Release Notes »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.11.4 on <span class="colophon-date" title="Wednesday 4 June 2025 14:58">Wednesday 4 June 2025</span>. Using Julia version 1.11.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
14+
Exception: PythonCall.jl did not start properly</code></pre><p>The likely problem is that the &quot;other&quot; Python library (<code>matplotlib</code>, whatever) is loading the system <code>libstdc++.so</code>, which isn&#39;t compatible with the <code>libstdc++.so</code> that Julia ships with. Linux distributions with older <code>libstdc++</code> versions seem more likely to suffer from this issue. The solution is to either:</p><ul><li>use a Linux distribution with a more recent <code>libstdc++</code></li><li>import <code>juliacall</code> before the other Python library, so that Julia&#39;s <code>libstdc++</code> is loaded</li><li>use a Python from a conda environment, which will have a newer <code>libstdc++</code> that is compatible with Julia&#39;s</li></ul><p>Related issues: <a href="https://github.com/JuliaPy/PythonCall.jl/issues/255">#255</a></p><h2 id="Can-I-use-JuliaCall-to-run-Julia-inside-applications-with-embedded-Python?"><a class="docs-heading-anchor" href="#Can-I-use-JuliaCall-to-run-Julia-inside-applications-with-embedded-Python?">Can I use JuliaCall to run Julia inside applications with embedded Python?</a><a id="Can-I-use-JuliaCall-to-run-Julia-inside-applications-with-embedded-Python?-1"></a><a class="docs-heading-anchor-permalink" href="#Can-I-use-JuliaCall-to-run-Julia-inside-applications-with-embedded-Python?" title="Permalink"></a></h2><p>Yes, it may be possible. A good example of that is having Julia running inside the Python that is running inside Blender, as presented in <a href="https://discourse.julialang.org/t/running-julia-inside-blender-through-vscode-using-pythoncall-juliacall/96838/6">this Discourse post</a>. From the point that one has JuliaCall running inside Python, if it has access to the terminal, one can even launch a Julia REPL there, and if needed connect with VSCode Julia extension to it. The full Python script to install, launch JuliaCall, and launch a Julia REPL in Blender is <a href="https://gist.github.com/cdsousa/d820d27174238c0d48e5252355584172">here</a>.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../compat/">« Compatibility Tools</a><a class="docs-footer-nextpage" href="../releasenotes/">Release Notes »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.13.0 on <span class="colophon-date" title="Tuesday 1 July 2025 11:26">Tuesday 1 July 2025</span>. Using Julia version 1.11.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>

dev/index.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

dev/juliacall-reference/index.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

dev/juliacall/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,4 @@
3737
state = wait(fs, timeout=0.1)
3838
# if they finished then stop otherwise try again
3939
if not state.not_done:
40-
break</code></pre><p>Set the <code>timeout</code> parameter smaller to let Julia&#39;s scheduler cycle more frequently.</p><p>Future versions of JuliaCall may provide tooling to make this simpler.</p><h3 id="py-multi-threading-signal-handling"><a class="docs-heading-anchor" href="#py-multi-threading-signal-handling">Caveat: Signal handling</a><a id="py-multi-threading-signal-handling-1"></a><a class="docs-heading-anchor-permalink" href="#py-multi-threading-signal-handling" title="Permalink"></a></h3><p>We recommend setting <a href="#julia-config"><code>PYTHON_JULIACALL_HANDLE_SIGNALS=yes</code></a> before importing JuliaCall with multiple threads.</p><p>This is because Julia intentionally causes segmentation faults as part of the GC safepoint mechanism. If unhandled, these segfaults will result in termination of the process. See discussion <a href="https://github.com/JuliaPy/PythonCall.jl/issues/219#issuecomment-1605087024">here</a> for more information.</p><p>Note however that this interferes with Python&#39;s own signal handling, so for example Ctrl-C will not raise <code>KeyboardInterrupt</code>.</p><p>Future versions of JuliaCall may make this the default behaviour when using multiple threads.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../pythoncall-reference/">« Reference</a><a class="docs-footer-nextpage" href="../juliacall-reference/">Reference »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.11.4 on <span class="colophon-date" title="Wednesday 4 June 2025 14:58">Wednesday 4 June 2025</span>. Using Julia version 1.11.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
40+
break</code></pre><p>Set the <code>timeout</code> parameter smaller to let Julia&#39;s scheduler cycle more frequently.</p><p>Future versions of JuliaCall may provide tooling to make this simpler.</p><h3 id="py-multi-threading-signal-handling"><a class="docs-heading-anchor" href="#py-multi-threading-signal-handling">Caveat: Signal handling</a><a id="py-multi-threading-signal-handling-1"></a><a class="docs-heading-anchor-permalink" href="#py-multi-threading-signal-handling" title="Permalink"></a></h3><p>We recommend setting <a href="#julia-config"><code>PYTHON_JULIACALL_HANDLE_SIGNALS=yes</code></a> before importing JuliaCall with multiple threads.</p><p>This is because Julia intentionally causes segmentation faults as part of the GC safepoint mechanism. If unhandled, these segfaults will result in termination of the process. See discussion <a href="https://github.com/JuliaPy/PythonCall.jl/issues/219#issuecomment-1605087024">here</a> for more information.</p><p>Note however that this interferes with Python&#39;s own signal handling, so for example Ctrl-C will not raise <code>KeyboardInterrupt</code>.</p><p>Future versions of JuliaCall may make this the default behaviour when using multiple threads.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../pythoncall-reference/">« Reference</a><a class="docs-footer-nextpage" href="../juliacall-reference/">Reference »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.13.0 on <span class="colophon-date" title="Tuesday 1 July 2025 11:26">Tuesday 1 July 2025</span>. Using Julia version 1.11.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>

0 commit comments

Comments
 (0)