Spaces:
Running
Running
Commit
·
c1a7eb6
1
Parent(s):
46ce389
Clean up use of global
Browse files- pysr/sr.py +8 -11
pysr/sr.py
CHANGED
|
@@ -135,7 +135,6 @@ def pysr(
|
|
| 135 |
tempdir=None,
|
| 136 |
delete_tempfiles=True,
|
| 137 |
julia_project=None,
|
| 138 |
-
user_input=True,
|
| 139 |
update=True,
|
| 140 |
temp_equation_file=False,
|
| 141 |
output_jax_format=False,
|
|
@@ -248,8 +247,6 @@ def pysr(
|
|
| 248 |
:type delete_tempfiles: bool
|
| 249 |
:param julia_project: a Julia environment location containing a Project.toml (and potentially the source code for SymbolicRegression.jl). Default gives the Python package directory, where a Project.toml file should be present from the install.
|
| 250 |
:type julia_project: str/None
|
| 251 |
-
:param user_input: Whether to ask for user input or not for installing (to be used for automated scripts). Will choose to install when asked.
|
| 252 |
-
:type user_input: bool
|
| 253 |
:param update: Whether to automatically update Julia packages.
|
| 254 |
:type update: bool
|
| 255 |
:param temp_equation_file: Whether to put the hall of fame file in the temp directory. Deletion is then controlled with the delete_tempfiles argument.
|
|
@@ -439,18 +436,19 @@ Required dependencies are not installed or built. Run the following code in the
|
|
| 439 |
from julia import Pkg
|
| 440 |
|
| 441 |
Pkg.activate(f"{_escape_filename(julia_project)}")
|
| 442 |
-
|
| 443 |
-
|
| 444 |
-
|
| 445 |
-
|
| 446 |
-
|
|
|
|
| 447 |
Required dependencies are not installed or built. Run the following code in the Python REPL:
|
| 448 |
|
| 449 |
>>> import pysr
|
| 450 |
>>> pysr.install()
|
| 451 |
-
|
| 452 |
Tried to activate project {julia_project} but failed."""
|
| 453 |
-
|
| 454 |
Main.eval("using SymbolicRegression")
|
| 455 |
|
| 456 |
Main.plus = Main.eval("(+)")
|
|
@@ -629,7 +627,6 @@ def _handle_constraints(binary_operators, unary_operators, constraints):
|
|
| 629 |
|
| 630 |
|
| 631 |
def _create_inline_operators(binary_operators, unary_operators):
|
| 632 |
-
global Main
|
| 633 |
for op_list in [binary_operators, unary_operators]:
|
| 634 |
for i, op in enumerate(op_list):
|
| 635 |
is_user_defined_operator = "(" in op
|
|
|
|
| 135 |
tempdir=None,
|
| 136 |
delete_tempfiles=True,
|
| 137 |
julia_project=None,
|
|
|
|
| 138 |
update=True,
|
| 139 |
temp_equation_file=False,
|
| 140 |
output_jax_format=False,
|
|
|
|
| 247 |
:type delete_tempfiles: bool
|
| 248 |
:param julia_project: a Julia environment location containing a Project.toml (and potentially the source code for SymbolicRegression.jl). Default gives the Python package directory, where a Project.toml file should be present from the install.
|
| 249 |
:type julia_project: str/None
|
|
|
|
|
|
|
| 250 |
:param update: Whether to automatically update Julia packages.
|
| 251 |
:type update: bool
|
| 252 |
:param temp_equation_file: Whether to put the hall of fame file in the temp directory. Deletion is then controlled with the delete_tempfiles argument.
|
|
|
|
| 436 |
from julia import Pkg
|
| 437 |
|
| 438 |
Pkg.activate(f"{_escape_filename(julia_project)}")
|
| 439 |
+
if update:
|
| 440 |
+
try:
|
| 441 |
+
Pkg.resolve()
|
| 442 |
+
except RuntimeError as e:
|
| 443 |
+
raise ImportError(
|
| 444 |
+
f"""
|
| 445 |
Required dependencies are not installed or built. Run the following code in the Python REPL:
|
| 446 |
|
| 447 |
>>> import pysr
|
| 448 |
>>> pysr.install()
|
| 449 |
+
|
| 450 |
Tried to activate project {julia_project} but failed."""
|
| 451 |
+
) from e
|
| 452 |
Main.eval("using SymbolicRegression")
|
| 453 |
|
| 454 |
Main.plus = Main.eval("(+)")
|
|
|
|
| 627 |
|
| 628 |
|
| 629 |
def _create_inline_operators(binary_operators, unary_operators):
|
|
|
|
| 630 |
for op_list in [binary_operators, unary_operators]:
|
| 631 |
for i, op in enumerate(op_list):
|
| 632 |
is_user_defined_operator = "(" in op
|