工具:python3.7版本,pycharm,anaconda(电脑之前装过python官方自带的编辑器)
问题:numpy无法import
首先,检查自己pycharm的解释器对应的环境在哪儿,以及里面有没有安装numpy包。这里我对应在base环境下。
在anaconda prompt窗口输入conda list(这是检查base环境下的包)【conda -n xxx(环境名) list检查指定环境下的包】,检查后发现是有numpy包的。
然后,在anaconda prompt窗口中,输入conda uninstall numpy,卸载base环境下的numpy【同理,conda uninstall -n xxx(环境名) numpy】,然后conda install numpy重装,发现还是无法import。
-------------好吧,我再尝试一下-------------
在anaconda prompt窗口中,改用pip命令卸载和安装numpy。
先查一下numpy的信息
(base) C:\Users\Christine Yang>pip show numpy
Name: numpy
Version: 1.16.5
Summary: NumPy is the fundamental package for array computing with Python.
Home-page: https://www.numpy.org
Author: Travis E. Oliphant et al.
Author-email: None
License: BSD
Location: c:\anaconda\lib\site-packages
Requires:
Required-by: torchvision, tables, statsmodels, seaborn, scikit-learn, PyWavelets, pytest-doctestplus, pytest-arraydiff, patsy, pandas, numexpr, numba, mkl-random, mkl-fft, matplotlib, imageio, h5py, Bottleneck, bokeh, bkcharts, astropy
然后卸载重装
(base) C:\Users\Christine Yang>pip uninstall numpy
Uninstalling numpy-1.16.5:
Would remove:
c:\anaconda\lib\site-packages\numpy
c:\anaconda\lib\site-packages\numpy-1.16.5-py3.7.egg-info
c:\anaconda\scripts\f2py-script.py
c:\anaconda\scripts\f2py.exe
Proceed (y/n)? y
Successfully uninstalled numpy-1.16.5
(base) C:\Users\Christine Yang>pip install numpy
Collecting numpy
Downloading https://files.pythonhosted.org/packages/a9/38/f6d6d8635d496d6b4ed5d8ca4b9f193d0edc59999c3a63779cbc38aa650f/numpy-1.18.1-cp37-cp37m-win_amd64.whl (12.8MB)
|████████████████████████████████| 12.8MB 7.0kB/s
Installing collected packages: numpy
Successfully installed numpy-1.18.1
为确保安装位置正确,再show一下:
(base) C:\Users\Christine Yang>pip show numpy
Name: numpy
Version: 1.18.1
Summary: NumPy is the fundamental package for array computing with Python.
Home-page: https://www.numpy.org
Author: Travis E. Oliphant et al.
Author-email: None
License: BSD
Location: c:\anaconda\lib\site-packages
Requires:
Required-by: torchvision, tables, statsmodels, seaborn, scikit-learn, PyWavelets, pytest-doctestplus, pytest-arraydiff, patsy, pandas, numexpr, numba, mkl-random, mkl-fft, matplotlib, imageio, h5py, Bottleneck, bokeh, bkcharts, astropy
最后到pycharm里面刷新一下环境,运行相关代码就成功了!!(激动)
----------------------------------------------------------------------------------------------
这也让我开始思考
pip和conda命令的区别
网上查看了相关博客,主要的解释是:pip允许在任何环境中安装python包,conda允许在conda环境中安装任何语言包。
但这无法解释我这次遇到的情况。在anaconda prompt里面运行pip的时候,因为已经默认是在anaconda的基础环境下,所以pip的安装卸载针对的也是anaconda目录下的包。
为此,我重新尝试了conda install 的命令,想看看两种命令搜索包的途径和来源是否一样。
(base) C:\Users\Christine Yang>conda install numpy
Collecting package metadata (current_repodata.json): done
Solving environment: /
The environment is inconsistent, please check the package plan carefully
The following packages are causing the inconsistency:
- defaults/win-64::anaconda==2019.10=py37_0
- defaults/win-64::astropy==3.2.1=py37he774522_0
- defaults/win-64::bkcharts==0.2=py37_0
- defaults/win-64::bokeh==1.3.4=py37_0
- defaults/win-64::bottleneck==1.2.1=py37h452e1ab_1
- defaults/noarch::dask==2.5.2=py_0
- defaults/win-64::h5py==2.9.0=py37h5e291fa_0
- defaults/win-64::imageio==2.6.0=py37_0
- defaults/win-64::matplotlib==3.1.1=py37hc8f65d3_0
- defaults/win-64::mkl_fft==1.0.14=py37h14836fe_0
- defaults/win-64::mkl_random==1.1.0=py37h675688f_0
- defaults/win-64::numba==0.45.1=py37hf9181ef_0
- defaults/win-64::numexpr==2.7.0=py37hdce8814_0
- defaults/win-64::numpy==1.16.5=py37h19fb1c0_0
- defaults/win-64::pandas==0.25.1=py37ha925a31_0
- defaults/win-64::patsy==0.5.1=py37_0
- defaults/win-64::pytables==3.5.2=py37h1da0976_1
- defaults/win-64::pytest-arraydiff==0.3=py37h39e3cac_0
- defaults/win-64::pytest-astropy==0.5.0=py37_0
- defaults/noarch::pytest-doctestplus==0.4.0=py_0
- pytorch/win-64::pytorch==1.4.0=py3.7_cuda101_cudnn7_0
- defaults/win-64::pywavelets==1.0.3=py37h8c2d366_1
- defaults/win-64::scikit-image==0.15.0=py37ha925a31_0
- defaults/win-64::scikit-learn==0.21.3=py37h6288b17_0
- defaults/win-64::scipy==1.3.1=py37h29ff71c_0
- defaults/win-64::seaborn==0.9.0=py37_0
- defaults/win-64::statsmodels==0.10.1=py37h8c2d366_0
- pytorch/win-64::torchvision==0.5.0=py37_cu101
## Package Plan ##
environment location: C:\Anaconda
added / updated specs:
- numpy
The following packages will be downloaded:
package | build
---------------------------|-----------------
_anaconda_depends-2019.03 | py37_0 6 KB
anaconda-custom | py37_1 3 KB
numpy-base-1.16.5 | py37hc3f5095_0 3.3 MB
------------------------------------------------------------
Total: 3.3 MB
The following NEW packages will be INSTALLED:
_anaconda_depends pkgs/main/win-64::_anaconda_depends-2019.03-py37_0
numpy-base pkgs/main/win-64::numpy-base-1.16.5-py37hc3f5095_0
The following packages will be UPDATED:
ca-certificates 2019.8.28-0 --> 2020.1.1-0
certifi 2019.9.11-py37_0 --> 2019.11.28-py37_0
openssl 1.1.1d-he774522_2 --> 1.1.1d-he774522_3
The following packages will be DOWNGRADED:
anaconda 2019.10-py37_0 --> custom-py37_1
从上面的信息中,发现两个问题:一是报告我的环境是不一致inconsistent的,二是其准备安装的包的版本是numpy-base-1.16.5 | py37hc3f5095_0,除此之外还有anaconda的相关包。
分析了半天,还是不知道为啥pip能成功conda就不行……(菜鸡的我),之后可以在现有的环境上找一下原因。
关于环境不一致
stackoverflow上有人解释其原因主要是由于包的版本不同,以及依赖包的冲突。
提出的解决方法有:
-
conda update --all
-
把对应的包卸载重装,conda uninstall xxx(系统提示包的名称)和conda install xxx
--------------------------------------------------------更新-------------------------------------------------------------
问题:调用pandas包,又出现了无法import numpy的问题,卸载重装之类的操作都没用。
先打开anaconda prompt,激活对应的环境<activate 环境名>,再输入<python>,输<import pandas>。如果这样没有报错的话,就可能是没有添加anaconda环境变量的问题。
把对应的anaconda安装bin路径C:\Anaconda\Library\bin\加入到path即可,同时注意不要有和numpy相关的路径冲突。
问题解决系统:windows 10工具:python3.7版本,pycharm,anaconda(电脑之前装过python官方自带的编辑器)问题:numpy无法import首先,检查自己pycharm的解释器对应的环境在哪儿,以及里面有没有安装numpy包。这里我对应在base环境下。在anaconda prompt窗口输入conda list(这是检查base环境下的包)...
公司运维提供的服务器是centos6.8,打算在上面装
python
3.7,结果费尽周折,按照网上的步骤
python
3.7能成功
安装
,但是
import
ssl却报找不到_ssl
模块
的错误:
import
_ssl # if we can't
import
it, let the error propagate
Import
Error: No module named _ssl
在网上搜了各种方法,有说修改
python
3.7
安装
文件中的Setup.dist,将SSL部分注释掉,但自己注释掉仍然不行。有说重新装openssl库,
配置
python
3.7的时候指定openssl,然而也是不
所以需要使用虚拟环境的
pip
安装
jieba。
在确认把
包
装在虚拟环境之后,切换到
python
环境也不能靠单纯敲
python
命令。而是要用虚拟环境的
python
,和前面的那个
pip
一样。
举个例子,现在有.
之前有一个已经启动的ssh窗口使用的是旧环境,在该窗口下尝试
import
发现成功。
观察发现新旧两个环境指定的
python
大版本都为3.7,但旧环境具体为3.7.6,新版为3.7.7,结果
安装
新的虚拟环境后旧版的
python
也被替换成了3.7.7,而
anaconda
默认的所有
包
安装
路径都是和
python
关联了,
python
被替换后就导致了之前
安装
的
包
找不到
问题
解决
因为环境里装了
(base) liuchang@PauldeMacBook-Pro ~
conda
install
anaconda
Collecting package metadata (current_repodata.json): done
Solving environment: -
The environment is inconsistent, p
(base) PS C:\Users\pc>
conda
install pytorch torchvision cudatoolkit=10.0 -c pyt
Collecting package metadata (current_repodata.json): done
Solving environment: -
The environment is inconsistent, pleas...
安装
tensorflow踩过的坑
在
安装
tensorflow的时候,如果在自己真实的环境中
安装
tensorflow,那么往往需要下载Cuda,再
安装
tensorflow,这样往往因为版本的
问题
,
安装
失败。这个时候,最简单方法就是利用
conda
创建一个虚拟环境来
安装
tensorflow。这种方法不需要
安装
Cuda,在
安装
tensorflow时会自动匹配合适版本的Cuda版本。
在
安装
好之前,熟悉一下常用的命令
conda
常用的命令:
查看
conda
环境:
conda
env
list
新建
conda
环境(env
此次遇到的
问题
是在
import
pycurl 时报错
pycurl:libcurl link-time version is older than compile-time version
在网上看了很多解释和方法,但都没有很好的
解决
和分析这个
问题
,我先说下自己的过程
1、
安装
的事centos7 ,默认
安装
的是
python
2.7,
python
3是后使用src
安装
的,同样先下载了curl-7.61的
包
和pycurl-7.43的
包
,应该都是最新的了
2、先make && make install 了curl-7.61,至/usr/local下,然后
python
3 setup.py instal
import
上一级目录的
模块
python
中,
import
module会去sys.path搜索,sys.path是个列表,并且我们可以动态修改。
要
import
某个目录的module,我们sys.path.insert(0,somedir)来加入搜索路径,就可以
import
了。
既然这样,要
import
上一级目录的module,可以sys.path.insert(0,parentdir)。
不过这种写绝对路径的方式,如果文件放到其它地方,就不行了。
所以用动态方法来获取上一级目录。
import
os,sys
parentdir = os.path.dirname(os.path.di
在pycharm中运行正常,但是使用命令方式就提示没有
模块
解决
方案
在
Python
安装
目录下的\Lib\site-packages文件夹中建立一个.pth文件,内容为自己写的
查看
包
是否有导入
再次运行,就成功了
您可能感兴趣的文章:
python
日志 logging
模块
详细解析
Python
动态导入
模块
:__
import
__、
import
lib、动态导入的使用场景实例分析执行
Python
程序时
模块
报错
问题
正则表达式+
Python
re
模块
详解使用
python
图形
模块
turtle库绘制樱花、玫瑰、圣诞树代码实例
Python
标准库js
问题
描述:
已经用
pip
install jieba
安装
好jieba分词工具,但是在Jupyter 里
import
jieba运行一直提示
Import
Error: No module named ‘jieba’
然后找了各种方法,
conda
install jieba也是不行的
但是终于还是找到方法了
(1)使用命令
anaconda
search -t
conda
jieba查找对应版本
(2)使用
conda
install -c jiangxiluning jieba=0.36.2
jiangxiluning 和 0.36.2部分根据查到的列表改成对应Name和Ver
如果你在使用
Python
中的OpenCV库时遇到了"
import
cv2未找到"的
问题
,可能是因为你没有正确
安装
OpenCV库或者
Python
无法
找到OpenCV库的路径。
解决
这个
问题
的方法是:
1. 确保你已经正确
安装
了OpenCV库。可以通过
pip
命令来
安装
OpenCV库,如下所示:
```
python
pip
install opencv-
python
2. 如果你使用的是
Anaconda
环境,则可以使用以下命令来
安装
OpenCV库:
```
python
conda
install -c
conda
-forge opencv
3. 如果你已经正确
安装
了OpenCV库,但是仍然
无法
导入cv2
模块
,那么你需要将OpenCV库的路径添加到
Python
的系统路径中。可以使用以下代码来获取OpenCV库的路径:
```
python
import
cv2
print(cv2.__file__)
上述代码会输出OpenCV库的路径,例如:
/usr/local/lib/
python
3.6/dist-packages/cv2/cv2.c
python
-36m-x86_64-linux-gnu.so
将上述路径中的cv2.c
python
-36m-x86_64-linux-gnu.so部分复制,然后将其添加到
Python
的系统路径中,如下所示:
```
python
import
sys
sys.path.append('/usr/local/lib/
python
3.6/dist-packages/cv2/')
这样就可以
解决
"
import
cv2未找到"的
问题
了。
CSDN-Ada助手:
解决已安装模块无法import的问题
Yonggie: