我正在尝试使用conda
安装软件包,但是没有任何反应。 $ python -c "import numpy"
Traceback (most recent call last):
File "<string>", line 1, in <module>
import numpy
ModuleNotFoundError: No module named 'numpy'
找不到numpy:
numpy
但是当我尝试使用conda
安装$ conda install numpy
Collecting package metadata: done
Solving environment: done
# All requested packages already installed.
时,我会得到:
conda
并且仍然无法强制$ conda install --force-reinstall numpy
Collecting package metadata: done
Solving environment: done
## Package Plan ##
environment location: {HOME}/.pyenv/versions/miniconda3-latest
added / updated specs:
- numpy
Proceed ([y]/n)? y
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
安装它:
conda
是否有一种解决方案可以使mkl
真正安装软件包?还是我真的必须卸载所有内容并重新安装所有内容?还是有没有比conda
恐怖的安装python(使用pyenv
)的解决方案?
已设置我的环境(使用conda
,以使用$ which python
{HOME}/.pyenv/shims/python
安装:
$ python -c "import tqdm; print(tqdm.__file__)"
{HOME}/.pyenv/versions/miniconda3-latest/lib/python3.6/site-packages/tqdm/__init__.py
和例如
attr
答案 0 :(得分:2)
第二次尝试回答您的问题(我不熟悉pyenv,但希望对您有所帮助):
使用pyenv和miniconda时,我会激活您的环境(您帖子中的miniconda3-latest),然后应使用正确的conda来安装您的软件包:
# Activate your environment
pyenv activate miniconda3-latest
# Install numpy, etc.
conda install numpy
# This then works without errors for me:
python -c "import numpy"
# Deactivate your environment when finish if you want
pyenv deactivate
作为一般观察,似乎pyenv和conda在做类似的事情(请参见https://bastibe.de/2017-11-20-pyenv.html)。我还没有研究过很多pyenv,但是如果我正在使用它,我可能会考虑不将其与conda配对,而仅依靠本机python(venv,pip)来安装软件包,然后让pyenv进行所有环境管理(而不是在其顶部添加conda。
我认为conda没什么问题,但是您键入的命令可能是在系统上而不是conda上调用本机python。
这些命令将使您看到正在调用的路径:
# for linux/mac
which python
# for windows
where python
如果显示的内容类似于/usr/bin/python
(对于linux / mac),则这不是您要调用的python的conda实例。
如果要调用已安装软件包的实际conda实例,则应找到conda的安装位置并使用完整路径进行调用:
# taking your example it looks like your python is in
# {HOME}/.pyenv/versions/miniconda3-latest
{HOME}/.pyenv/versions/miniconda3-latest/bin/python -c "import numpy"
# or on my computer it is (~ means home):
~/anaconda3/bin/python -c "import numpy"
希望有帮助!
答案 1 :(得分:0)
conda install -f
,conda install --force-reinstall
什么也不做,请手动删除缓存,例如rm -rf {CONDA_LOCATION}/pkgs/{PACKAGE_NAME}*
后跟conda install {PACKAGE_NAME}
。
我终于找到了一个合理的手段来强迫conda
安装软件包。 conda
保留可以使用conda info
$ conda info
...
package cache : {HOME}/.pyenv/versions/miniconda3-latest/pkgs
{HOME}/.conda/pkgs
只需从缓存中删除与要安装的软件包相关的所有内容:
rm -rf {HOME}/.pyenv/versions/miniconda3-latest/pkgs/numpy*
(请考虑在执行此类基本步骤之前进行备份)。之后conda
可以正常安装软件包:
$ conda install numpy
Collecting package metadata: done
Solving environment: done
## Package Plan ##
environment location: {HOME}.pyenv/versions/miniconda3-latest
added / updated specs:
- numpy
The following packages will be downloaded:
package | build
---------------------------|-----------------
numpy-base-1.15.4 | py36_2 6.1 MB intel
------------------------------------------------------------
Total: 6.1 MB
The following NEW packages will be INSTALLED:
numpy-base intel/linux-64::numpy-base-1.15.4-py36_2
Proceed ([y]/n)? y
Downloading and Extracting Packages
numpy-base-1.15.4 | 6.1 MB | ################################################################################################################################################################### | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done