Skip to content

Commit

Permalink
build based on ce8bd7a
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Jul 24, 2024
1 parent c7243d3 commit b6920c8
Show file tree
Hide file tree
Showing 12 changed files with 28 additions and 28 deletions.
2 changes: 1 addition & 1 deletion dev/.documenter-siteinfo.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"documenter":{"julia_version":"1.10.4","generation_timestamp":"2024-07-20T23:34:14","documenter_version":"1.5.0"}}
{"documenter":{"julia_version":"1.10.4","generation_timestamp":"2024-07-24T17:22:48","documenter_version":"1.5.0"}}
4 changes: 2 additions & 2 deletions dev/compat/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/conversion-to-julia/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/conversion-to-python/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/faq/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@
init()
File "/home/dingraha/projects/pythoncall_import_error/venv/lib/python3.9/site-packages/juliacall/__init__.py", line 214, in init
raise Exception('PythonCall.jl did not start properly')
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="../pycall/">Coming from PyCall/PyJulia? »</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.5.0 on <span class="colophon-date" title="Saturday 20 July 2024 23:34">Saturday 20 July 2024</span>. Using Julia version 1.10.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
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="../pycall/">Coming from PyCall/PyJulia? »</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.5.0 on <span class="colophon-date" title="Wednesday 24 July 2024 17:22">Wednesday 24 July 2024</span>. Using Julia version 1.10.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
2 changes: 1 addition & 1 deletion dev/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/juliacall-reference/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/juliacall/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@
&quot;version&quot;: &quot;0.5, 0.6&quot;
}
}
}</code></pre><p>Alternatively you can use <code>add</code>, <code>rm</code>, etc. from JuliaPkg to edit this file.</p><p>See <a href="https://github.com/JuliaPy/PyJuliaPkg">JuliaPkg</a> for more details.</p><h2 id="julia-config"><a class="docs-heading-anchor" href="#julia-config">Configuration</a><a id="julia-config-1"></a><a class="docs-heading-anchor-permalink" href="#julia-config" title="Permalink"></a></h2><p>Some features of the Julia process, such as the optimization level or number of threads, may be configured in two ways:</p><ul><li>As an <code>-X</code> argument to Python, such as <code>-X juliacall-optlevel=3</code>; or</li><li>As an environment variable, such as <code>PYTHON_JULIACALL_OPTLEVEL=3</code>.</li></ul><table><tr><th style="text-align: left"><code>-X</code> option</th><th style="text-align: left">Environment Variable</th><th style="text-align: left">Description</th></tr><tr><td style="text-align: left"><code>-X juliacall-home=&lt;dir&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_BINDIR=&lt;dir&gt;</code></td><td style="text-align: left">The directory containing the julia executable.</td></tr><tr><td style="text-align: left"><code>-X juliacall-check-bounds=&lt;yes|no|auto&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_CHECK_BOUNDS=&lt;yes|no|auto&gt;</code></td><td style="text-align: left">Enable or disable bounds checking.</td></tr><tr><td style="text-align: left"><code>-X juliacall-compile=&lt;yes|no|all|min&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_COMPILE=&lt;yes|no|all|min&gt;</code></td><td style="text-align: left">Enable or disable JIT compilation.</td></tr><tr><td style="text-align: left"><code>-X juliacall-compiled-modules=&lt;yes|no&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_COMPILED_MODULES=&lt;yes|no&gt;</code></td><td style="text-align: left">Enable or disable incrementally compiling modules.</td></tr><tr><td style="text-align: left"><code>-X juliacall-depwarn=&lt;yes|no|error&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_DEPWARN=&lt;yes|no|error&gt;</code></td><td style="text-align: left">Enable or disable deprecation warnings.</td></tr><tr><td style="text-align: left"><code>-X juliacall-handle-signals=&lt;yes|no&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_HANDLE_SIGNALS=&lt;yes|no&gt;</code></td><td style="text-align: left">Enable or disable Julia signal handling.</td></tr><tr><td style="text-align: left"><code>-X juliacall-inline=&lt;yes|no&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_INLINE=&lt;yes|no&gt;</code></td><td style="text-align: left">Enable or disable inlining.</td></tr><tr><td style="text-align: left"><code>-X juliacall-min-optlevel=&lt;0|1|2|3&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_MIN_OPTLEVEL=&lt;0|1|2|3&gt;</code></td><td style="text-align: left">Optimization level.</td></tr><tr><td style="text-align: left"><code>-X juliacall-optimize=&lt;0|1|2|3&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_OPTIMIZE=&lt;0|1|2|3&gt;</code></td><td style="text-align: left">Minimum optimization level.</td></tr><tr><td style="text-align: left"><code>-X juliacall-procs=&lt;N|auto&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_PROCS=&lt;N|auto&gt;</code></td><td style="text-align: left">Launch N local worker process.</td></tr><tr><td style="text-align: left"><code>-X juliacall-startup-file=&lt;yes|no&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_STARTUP_FILE=&lt;yes|no&gt;</code></td><td style="text-align: left">Enable or disable your startup.jl file.</td></tr><tr><td style="text-align: left"><code>-X juliacall-sysimage=&lt;file&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_SYSIMAGE=&lt;file&gt;</code></td><td style="text-align: left">Use the given system image.</td></tr><tr><td style="text-align: left"><code>-X juliacall-threads=&lt;N|auto&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_THREADS=&lt;N|auto&gt;</code></td><td style="text-align: left">Launch N threads.</td></tr><tr><td style="text-align: left"><code>-X juliacall-warn-overwrite=&lt;yes|no&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_WARN_OVERWRITE=&lt;yes|no&gt;</code></td><td style="text-align: left">Enable or disable method overwrite warnings.</td></tr><tr><td style="text-align: left"><code>-X juliacall-autoload-ipython-extension=&lt;yes|no&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_AUTOLOAD_IPYTHON_EXTENSION=&lt;yes|no&gt;</code></td><td style="text-align: left">Enable or disable IPython extension autoloading.</td></tr></table></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.5.0 on <span class="colophon-date" title="Saturday 20 July 2024 23:34">Saturday 20 July 2024</span>. Using Julia version 1.10.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
}</code></pre><p>Alternatively you can use <code>add</code>, <code>rm</code>, etc. from JuliaPkg to edit this file.</p><p>See <a href="https://github.com/JuliaPy/PyJuliaPkg">JuliaPkg</a> for more details.</p><h2 id="julia-config"><a class="docs-heading-anchor" href="#julia-config">Configuration</a><a id="julia-config-1"></a><a class="docs-heading-anchor-permalink" href="#julia-config" title="Permalink"></a></h2><p>Some features of the Julia process, such as the optimization level or number of threads, may be configured in two ways:</p><ul><li>As an <code>-X</code> argument to Python, such as <code>-X juliacall-optlevel=3</code>; or</li><li>As an environment variable, such as <code>PYTHON_JULIACALL_OPTLEVEL=3</code>.</li></ul><table><tr><th style="text-align: left"><code>-X</code> option</th><th style="text-align: left">Environment Variable</th><th style="text-align: left">Description</th></tr><tr><td style="text-align: left"><code>-X juliacall-home=&lt;dir&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_BINDIR=&lt;dir&gt;</code></td><td style="text-align: left">The directory containing the julia executable.</td></tr><tr><td style="text-align: left"><code>-X juliacall-check-bounds=&lt;yes|no|auto&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_CHECK_BOUNDS=&lt;yes|no|auto&gt;</code></td><td style="text-align: left">Enable or disable bounds checking.</td></tr><tr><td style="text-align: left"><code>-X juliacall-compile=&lt;yes|no|all|min&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_COMPILE=&lt;yes|no|all|min&gt;</code></td><td style="text-align: left">Enable or disable JIT compilation.</td></tr><tr><td style="text-align: left"><code>-X juliacall-compiled-modules=&lt;yes|no&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_COMPILED_MODULES=&lt;yes|no&gt;</code></td><td style="text-align: left">Enable or disable incrementally compiling modules.</td></tr><tr><td style="text-align: left"><code>-X juliacall-depwarn=&lt;yes|no|error&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_DEPWARN=&lt;yes|no|error&gt;</code></td><td style="text-align: left">Enable or disable deprecation warnings.</td></tr><tr><td style="text-align: left"><code>-X juliacall-handle-signals=&lt;yes|no&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_HANDLE_SIGNALS=&lt;yes|no&gt;</code></td><td style="text-align: left">Enable or disable Julia signal handling.</td></tr><tr><td style="text-align: left"><code>-X juliacall-inline=&lt;yes|no&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_INLINE=&lt;yes|no&gt;</code></td><td style="text-align: left">Enable or disable inlining.</td></tr><tr><td style="text-align: left"><code>-X juliacall-min-optlevel=&lt;0|1|2|3&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_MIN_OPTLEVEL=&lt;0|1|2|3&gt;</code></td><td style="text-align: left">Optimization level.</td></tr><tr><td style="text-align: left"><code>-X juliacall-optimize=&lt;0|1|2|3&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_OPTIMIZE=&lt;0|1|2|3&gt;</code></td><td style="text-align: left">Minimum optimization level.</td></tr><tr><td style="text-align: left"><code>-X juliacall-procs=&lt;N|auto&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_PROCS=&lt;N|auto&gt;</code></td><td style="text-align: left">Launch N local worker process.</td></tr><tr><td style="text-align: left"><code>-X juliacall-startup-file=&lt;yes|no&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_STARTUP_FILE=&lt;yes|no&gt;</code></td><td style="text-align: left">Enable or disable your startup.jl file.</td></tr><tr><td style="text-align: left"><code>-X juliacall-sysimage=&lt;file&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_SYSIMAGE=&lt;file&gt;</code></td><td style="text-align: left">Use the given system image.</td></tr><tr><td style="text-align: left"><code>-X juliacall-threads=&lt;N|auto&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_THREADS=&lt;N|auto&gt;</code></td><td style="text-align: left">Launch N threads.</td></tr><tr><td style="text-align: left"><code>-X juliacall-warn-overwrite=&lt;yes|no&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_WARN_OVERWRITE=&lt;yes|no&gt;</code></td><td style="text-align: left">Enable or disable method overwrite warnings.</td></tr><tr><td style="text-align: left"><code>-X juliacall-autoload-ipython-extension=&lt;yes|no&gt;</code></td><td style="text-align: left"><code>PYTHON_JULIACALL_AUTOLOAD_IPYTHON_EXTENSION=&lt;yes|no&gt;</code></td><td style="text-align: left">Enable or disable IPython extension autoloading.</td></tr></table></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.5.0 on <span class="colophon-date" title="Wednesday 24 July 2024 17:22">Wednesday 24 July 2024</span>. Using Julia version 1.10.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit b6920c8

Please sign in to comment.