- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
因此,我正在使用 python 3.6 运行时创建一个 Docker 容器。我需要用于 python 的 UX64 版本的 lp_solver ( http://lpsolve.sourceforge.net/5.5/index.htm )。链接的是python 2.7。我发现了以下内容:https://github.com/chandu-atina/lp_solve_python_3x但它也不起作用。尝试了两种方法。我真的不知道如何让这个 lp_solver 在 Ubuntu Python 3.6 上工作。是否有类似以下内容:https://www.lfd.uci.edu/~gohlke/pythonlibs/#lp_solve但是对于 Ubuntu?
还发现了这个,它起作用了:https://anaconda.org/snorfalorpagus/lpsolve但我无法导入 lpsolve。 (这里是导入 lpsolve 的链接问题:Conda installation of lpsolve)
编辑 1:
以下是我采取的步骤:
mkdir -p /tmp/lp_solve && cd /tmp/lp_solve
wget -O ./lp_solve.tar.gz http://sourceforge.net/projects/lpsolve/files/lpsolve/5.5.2.0/lp_solve_5.5.2.0_source.tar.gz/download
tar -xf lp_solve.tar.gz
DOWNLOAD THE REPO FROM GITHUB (https://github.com/chandu-atina/lp_solve_python_3x )
mkdir -p /tmp/lp_solve/lp_solve_5.5/extra/
//创建Python目录!只要确保 origin 是 extra/Python
cp -R extra/Python_that_is_downloaded /tmp/lp_solve/lp_solve_5.5/extra/
cd /tmp/lp_solve/lp_solve_5.5/lpsolve55
chmod a+x ccc
sh ccc
在 sh ccc
上,我在 .h 文件中遇到大量语法错误。这里:
user@user-box:/tmp/lp_solve/lp_solve_5.5/lpsolve55$ sh ccc
/tmp/platform.c:3:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
main(){printf("ux%d", (int) (sizeof(void *)*8));}
^
In file included from ../lp_MDO.c:22:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_crash.c:21:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_lib.c:41:0:
../lp_lib.h:63:0: warning: "isnan" redefined
# define isnan(x) FALSE
^
In file included from ../lp_lib.c:27:0:
/usr/include/math.h:292:0: note: this is the location of the previous definition
# define isnan(x) __builtin_isnan (x)
^
In file included from ../lp_wlp.c:6:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_matrix.c:3:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_mipbb.c:30:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_MPS.c:5:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_params.c:6:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_presolve.c:36:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_price.c:3:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_pricePSE.c:3:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_scale.c:3:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_simplex.c:27:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_SOS.c:3:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_utils.c:4:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
ar: lp_MDO.o: No such file or directory
In file included from ../lp_MDO.c:22:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_crash.c:21:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_lib.c:41:0:
../lp_lib.h:63:0: warning: "isnan" redefined
# define isnan(x) FALSE
^
In file included from ../lp_lib.c:27:0:
/usr/include/math.h:292:0: note: this is the location of the previous definition
# define isnan(x) __builtin_isnan (x)
^
In file included from ../lp_wlp.c:6:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_matrix.c:3:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_mipbb.c:30:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_MPS.c:5:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_params.c:6:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_presolve.c:36:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_price.c:3:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_pricePSE.c:3:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_scale.c:3:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_simplex.c:27:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_SOS.c:3:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
In file included from ../lp_utils.c:4:0:
../shared/commonlib.h:88:24: error: expected identifier or ‘(’ before numeric constant
#define FALSE 0
^
cc: error: lp_MDO.o: No such file or directory
cc: error: lp_crash.o: No such file or directory
cc: error: lp_wlp.o: No such file or directory
cc: error: lp_matrix.o: No such file or directory
cc: error: lp_mipbb.o: No such file or directory
cc: error: lp_MPS.o: No such file or directory
cc: error: lp_params.o: No such file or directory
cc: error: lp_presolve.o: No such file or directory
cc: error: lp_price.o: No such file or directory
cc: error: lp_pricePSE.o: No such file or directory
cc: error: lp_scale.o: No such file or directory
cc: error: lp_simplex.o: No such file or directory
cc: error: lp_SOS.o: No such file or directory
cc: error: lp_utils.o: No such file or directory
对不起,当我在代码中附上代码片段时,它在这里给了我错误。
最佳答案
我如何让 lpsolve 在 raspbian 上与 python 3.5.3 一起工作:
从仓库安装
apt-get install lp-solve # for shared object file (liblpsolve55.so)
apt-get install liblpsolve55-dev # for header files (e.g. lp_lib.h)
从 sourceforge ( https://sourceforge.net/projects/lpsolve/files/lpsolve/5.5.2.5/lp_solve_5.5.2.5_Python_source.tar.gz/download ) 获取 Python 源代码。
解压tar文件
tar -xzf lp_solve_5.5.2.5_Python_source.tar.gz
cd lp_solve_5.5/extra/Python
运行开始安装
bash build.sh
在我的案例中,源文件有一些与 python3 无关的问题。
Python3 相关问题:
setup.py 差异
14c14
< print 'numpy: ' + NUMPY
---
> print('numpy: ' + NUMPY)
30c30
< ["lpsolve.c", "hash.c", "pythonmod.c"],
---
> ["lpsolve.c", "pythonmod.c"],
32c32
< include_dirs=['../..', NUMPYPATH],
---
> include_dirs=['../..', NUMPYPATH, '/usr/include/lpsolve'],
34c34
< libraries = ["lpsolve55"])
---
> libraries = ["lpsolve55", "colamd"])
pythonmod.c 比较
35a36
> static char lpsolve_name[] = "lpsolve";
43a45,48
> static PyModuleDef lpsolve_module = { .m_base = PyModuleDef_HEAD_INIT,
> .m_name = lpsolve_name,
> .m_doc = lpsolve_doc,
> .m_methods = lpsolve_methods };
47,48c52,53
< DL_EXPORT(void)
< initlpsolve55(void)
---
> PyMODINIT_FUNC
> PyInit_lpsolve55(void)
53c58
< m = Py_InitModule("lpsolve55", lpsolve_methods);
---
> m = PyModule_Create(&lpsolve_module);
85,212c90,217
< PyDict_SetItemString(d, "LE", PyInt_FromLong(LE));
...
< PyDict_SetItemString(d, "FULL", PyInt_FromLong(FULL));
---
> PyDict_SetItemString(d, "LE", PyLong_FromLong(LE));
...
> PyDict_SetItemString(d, "FULL", PyLong_FromLong(FULL));
213a219,220
>
> return m;
771c778
< (PyString_AsStringAndSize(item, &ptr, &size1) != 0) ||
---
> (PyBytes_AsStringAndSize(item, &ptr, &size1) != 0) ||
799c806
< if (PyString_Check(vector)) {
---
> if (PyUnicode_Check(vector)) {
824c831
< if ((item == NULL) || (!PyString_Check(item))) {
---
> if ((item == NULL) || (!PyUnicode_Check(item))) {
832c839
< if ((PyString_AsStringAndSize(item, &ptr, &size1) != 0) ||
---
> if ((PyBytes_AsStringAndSize(item, &ptr, &size1) != 0) ||
1028c1035
< setlhs(lpsolvecaller, element, PyString_FromString(*str));
---
> setlhs(lpsolvecaller, element, PyUnicode_FromString(*str));
1035c1042
< MyPyArray_SET_ITEM(PyObject1, i, PyString_FromString(*(str++)));
---
> MyPyArray_SET_ITEM(PyObject1, i, PyUnicode_FromString(*(str++)));
验证安装是否按照 lpsolve ( http://lpsolve.sourceforge.net/5.5/Python.htm#Installation ) 文档中的指示工作
>>> from lpsolve55 import *
>>> lpsolve()
关于python - 如何为 python 3.6 安装 lpsolve?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48765299/
我听说最好不要从您系统的 Perl 版本所在的 CPAN 安装模块。我知道如何使用命令行安装模块,我只是想知道是否有办法将 CPAN 与系统核心 Perl 分开。 我应该: 下载源代码并专门为这些模块
我听说最好不要从系统的 Perl 版本所在的 CPAN 安装模块。我知道如何使用命令行安装模块,我只是想知道是否有办法将 CPAN 与系统的核心 Perl 分开。 我应该: 下载源代码并专门为这些模块
单独安装 electron 与通过 electron-builder 安装有什么区别?我正在使用 React 构建一个 Electron 应用程序,并且已经找到了一些教程。它们安装 Electron
两者安装有什么区别?我按照安装页面上的说明在全局范围内安装了 webpack,然后我转到了入门指南,据说在那里可以在本地安装 webpack-cli。 CLI = Command Line Inter
我在 OS X Yosemite 上用 PHP 安装了默认的 Apache 服务器,安装了 pear,用 brew 安装了 Solr (brew install solr),现在我正在尝试使用 PEC
我解压并编译了 Ruby 2.1 并安装了几个支持工具。 但是当我安装了 libssl-dev 时,OpenSSL 不会安装。 我在支持 openssl 时遇到这个错误: make: *** No r
我在 android studio 2.3.1 和 gradle 3.2 中设计了 2 到 3 个应用程序。当我从它运行应用程序到任何设备或模拟器时,一切都工作正常。但是当我从构建文件夹中获取该 ap
我注意到我正在读一本书提到通过 apt-get 安装 numpy 和 opencv apt-get install python-numpy python-opencv 但我可以通过以下方式在 pip
我正在尝试在 Windows 8.1 上安装 ansicon。我提取了文件并达到了我需要调用 ansicon -i 的级别。当我在 cmd 中输入此内容并运行 python 脚本时效果很好,但是当我通
我有 linux MINT 17.3 Kernel 4.4.0-81 所有更新可用。 (由于不同的原因,我无法迁移到更新版本的 ubuntu/mint) 我已经通过 PPA 安装了 FFMPEG(不是
尝试在本地运行我的应用程序时出现错误: 我只在 chrome 浏览器中收到此错误。我尝试过不同的东西,但我不确定为什么它是 Chrome 特定的。 最佳答案 我怀疑这不是 Firebase 问题,而是
这是我第一次开发 AngularJS 应用程序并使用脚手架工具 Yeoman ( http://yeoman.io/ )。我想对我的一些图标使用 fontawesome ( http://fortaw
我知道您通常“应该”$ pip install 如果包没有 brew ,但如果有一个你想安装的 python 包,你可以使用 $ pip install或 $ brew install为了?例如,通过
我正在尝试通过 RVM 安装 Ruby 1.9.3。然而,当谈到安装 RubyGems 时,我得到了这个: curl: (22) The requested URL returned error: 4
我是真正提出问题的新手,但你去吧。 我一直在尝试按照安装指南添加 dnsname: https://github.com/containers/dnsname https://github.com/c
Studio更新至0.4.0 建筑产量为“需要1.8版Gradle”;将设置设置为1.8 bin目录; 建立 “要求1.9级”;将设置设置为1.9 bin; 建立 “要求1.8级” 啊。不知道该怎么做
我刚刚注意到 kernel.org 因维护而停机。是否有使用不同镜子的不同公式?或者我可以向 Homebrew 软件添加不同的来源(如 bundler ?)? 谢谢你的帮助! 最佳答案 快速解决方法:
当我运行时: peardev install phpunit/PHPUnit 我得到以下信息: No releases available for package "pear.phpunit.de/P
服务器操作系统为Fedora 24. 64bit。 我想安装 Git 2.6.6。 所以下载源码并安装。 此服务器离线。所以我不使用“yum”。 ./configure --prefix=/usr/l
我正在尝试在我自己的服务器(操作系统:Linux Ubuntu Server 12.04)上安装 OpenEdX,但我遇到了同样的错误。谁能帮帮我? TASK: [ insights | insta
我是一名优秀的程序员,十分优秀!