Python:纸浆模块中的所有解算器都不可用

Python:纸浆模块中的所有解算器都不可用,python,permissions,raspberry-pi,pulp,Python,Permissions,Raspberry Pi,Pulp,我有一些使用纸浆模块解决LP的代码,它在使用64位windows机器时工作。现在,我尝试使用Raspbian在Raspberry Pi 4上运行相同的代码。创建目标函数和约束可以很好地工作,但当我尝试求解LP时,我得到以下错误: status = solver.actualSolve(self, **kwargs) AttributeError: 'NoneType' object has no attribute 'actualSolve' import pulp pulp.pulpTest

我有一些使用纸浆模块解决LP的代码,它在使用64位windows机器时工作。现在,我尝试使用Raspbian在Raspberry Pi 4上运行相同的代码。创建目标函数和约束可以很好地工作,但当我尝试求解LP时,我得到以下错误:

status = solver.actualSolve(self, **kwargs)
AttributeError: 'NoneType' object has no attribute 'actualSolve'
import pulp
pulp.pulpTestAll()
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
AttributeError: module 'pulp' has no attribute 'pulpTestAll'
pulp.solvers.PulpSolverError: PULP_CBC_CMD: Not Available (check permissions on /usr/local/lib/python3.7/dist-packages/pulp/solverdir/cbc/linux/32/cbc)
首先,我读到应该尝试运行pulp.palptestall(),但我只得到以下错误:

status = solver.actualSolve(self, **kwargs)
AttributeError: 'NoneType' object has no attribute 'actualSolve'
import pulp
pulp.pulpTestAll()
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
AttributeError: module 'pulp' has no attribute 'pulpTestAll'
pulp.solvers.PulpSolverError: PULP_CBC_CMD: Not Available (check permissions on /usr/local/lib/python3.7/dist-packages/pulp/solverdir/cbc/linux/32/cbc)
这导致了以下错误:

status = solver.actualSolve(self, **kwargs)
AttributeError: 'NoneType' object has no attribute 'actualSolve'
import pulp
pulp.pulpTestAll()
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
AttributeError: module 'pulp' has no attribute 'pulpTestAll'
pulp.solvers.PulpSolverError: PULP_CBC_CMD: Not Available (check permissions on /usr/local/lib/python3.7/dist-packages/pulp/solverdir/cbc/linux/32/cbc)
但是cbc文件的执行权限设置为“Nobody”,我无法更改它

我不知道如何解决这个问题。有什么建议吗?

试试:

conda install -c conda-forge pulp
(默认值:第1.6.8节)

而不是:

pip install pulp

(默认设置:Palm v 2.1)

您是如何在Raspberry Pi上安装Palm的?您是否执行了
pip安装palp
sudo-pip安装palp
?@kabdulla I键入sudo-pip3安装palpok。我认为您应该能够更改有问题文件的权限,但您可能需要
sudo
it。。。还有人建议我做(例如)
sudo-hpip2安装palp
。这将主目录设置为用户目录,而不是根目录。您可以通过命令行执行cbc解算器吗?i、 例如,通过命令行运行
/usr/local/lib/python3.7/dist-packages/pill/solverdir/cbc/linux/32/cbc
?另外,尝试在用户目录中使用
pip install-pulp--user
try reinstall snakemake在没有sudo的情况下安装pulp。我猜你只是更新了蛇饼,而不是纸浆包装。现在纸浆与snakemake的最新版本不兼容。