Как можно решить эту проблему с сеткой или сглазом? - PullRequest
0 голосов
/ 07 апреля 2020

Я создал Python программу под названием test_optimize.py только с этой строкой:

from scipy import optimize

Я попытался запустить ее с сеткой и получил ошибку, описанную ниже. Что я должен сделать, чтобы это исправить?

library(reticulate)
source_python("~/test_optimize.py")

#> Error in py_run_file_impl(file, local, convert) : 
#>   ImportError: dlopen(/Users/vkv/anaconda3/lib/python3.6/sitepackages/scipy/optimize/minpack2.cpython-36m-darwin.so, 2): Symbol not found: _main
#>   Referenced from: /Users/vkv/anaconda3/lib/python3.6/site-packages/scipy/optimize/minpack2.cpython-36m-darwin.so
#>   Expected in: flat namespace
#>  in /Users/vkv/anaconda3/lib/python3.6/site-packages/scipy/optimize/minpack2.cpython-36m-darwin.so

Не похоже, что есть проблема со Сциппи. Я запустил приведенный ниже скрипт в командной строке, используя Python 3.6.3, и он запустился без ошибок и напечатал [ -1.09046105e-12 1.00000000e+00], что является правильным результатом.

import numpy as np
from scipy import optimize

x = np.array([0, 1])
y = x
fit = lambda beta, x: beta[0] + beta[1] * x
resid = lambda beta, x, y: y - fit(beta, x)
beta_init = np.array([0.5, 0.5])
beta_hat, success = optimize.leastsq(resid, beta_init, args = (x, y), ftol = 1e-9)
print(beta_hat)

Информация о моей настройке R и Python настройки ниже.

sessionInfo()
#> R version 3.6.3 (2020-02-29)
#> Platform: x86_64-apple-darwin15.6.0 (64-bit)
#> Running under: macOS Catalina 10.15.3
#> 
#> Matrix products: default
#> BLAS:   /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRblas.0.dylib
#> LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib
#> 
#> locale:
#> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> other attached packages:
#> [1] reticulate_1.13
#> 
#> loaded via a namespace (and not attached):
#>  [1] Rcpp_1.0.4      lattice_0.20-40 digest_0.6.25   grid_3.6.3     
#>  [5] jsonlite_1.6.1  magrittr_1.5    evaluate_0.14   highr_0.8      
#>  [9] rlang_0.4.5     stringi_1.4.6   Matrix_1.2-18   rmarkdown_2.1  
#> [13] tools_3.6.3     stringr_1.4.0   xfun_0.12       yaml_2.2.1     
#> [17] compiler_3.6.3  htmltools_0.4.0 knitr_1.28

py_config()
#> python:         /Users/vkv/anaconda3/bin/python
#> libpython:      /Users/vkv/anaconda3/lib/libpython3.6m.dylib
#> pythonhome:     /Users/vkv/anaconda3:/Users/vkv/anaconda3
#> version:        3.6.3 |Anaconda, Inc.| (default, Oct  6 2017, 12:04:38)  [GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)]
#> numpy:          /Users/vkv/anaconda3/lib/python3.6/site-packages/numpy
#> numpy_version:  1.13.3
#> 
#> python versions found: 
#>  /Users/vkv/anaconda3/envs/r-reticulate/bin/python
#>  /Users/vkv/anaconda3/bin/python
#>  /usr/bin/python
#>  /usr/bin/python3
#>  /usr/local/bin/python3

1 Ответ

1 голос
/ 07 апреля 2020

Глядя на полученную ошибку, я хочу узнать, что говорит ваш компьютер, если вы попытаетесь запустить тот же оператор импорта из python напрямую. Я предполагаю, что у вас будет та же ошибка: есть проблема в установке scipy в вашей анаконде;

Для меня это не имеет ничего общего с сеткой.

...