Ao instalar um software, estou encontrando o seguinte erro várias vezes:
$ sudo python setup.py install
Traceback (most recent call last):
File "setup.py", line 24, in <module>
from software_name import PACKAGE_NAME
File "/home/username/Softwares/software_name/__init__.py", line 29, in <module>
import scipy
ImportError: No module named scipy
Posso instalar muitos dos módulos ausentes com, por exemplo, sudo apt-get install -y python-numpy
, mas às vezes recebo:
username@username:~/Softwares/software_name$ sudo apt-get install -y python-scipy
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package python-scipy is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'python-scipy' has no installation candidate
E eu realmente não tenho certeza do que está acontecendo? Eu li em outro tópico que o repositório 20.04 LTS tem NumPy, mas não tem SciPy.
EDITAR:
$ sudo apt install python-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package python-pip is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
python3-pip
E: Package 'python-pip' has no installation candidate
$ pip install scipy
Requirement already satisfied: scipy in /usr/lib/python3/dist-packages (1.3.3)
$ sudo apt install python3-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-pip is already the newest version (20.0.2-5ubuntu1.6).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
$ sudo pip install scipy
[sudo] password for user_name:
Requirement already satisfied: scipy in /usr/lib/python3/dist-packages (1.3.3)
$ python --version
Python 2.7.18
A melhor fonte para procurar pacotes nos repositórios do Ubuntu é packages.ubuntu.com
Você pode pesquisar por scipy e verá que ele foi retirado a partir de
universe
18.04.Eu só posso especular sobre o motivo, talvez nenhum mantenedor para o pacote tenha sido encontrado.
No entanto, você pode instalá-lo facilmente via
pip
:Observe que isso
pip
será padrão para instalar um pacote para seu usuário local. Se você precisar executar umpython
script comsudo
ou outro usuário, será necessário instalá-lo em todo o sistema com:Se você
python
ainda não reconhecer o pacote, talvez seja necessário verificar se hápython
links parapython2
. Verifique compython --version
.