python3在pycharm中为啥导入random模块不能用? TypeError: 'module' object is not callable
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3在pycharm中为啥导入random模块不能用? TypeError: 'module' object is not callable相关的知识,希望对你有一定的参考价值。
新手学python求大神指导,也用sys导入了random.py的路径,仍然不行。
刚刚排错貌似找到了问题的原因。。。
那是因为我在pycharm中新建的python文件名就是random,所以当前目录下就有一个random.py文件而且是自己写的,所以它在sys.path中会先找到自己定义的random.py并调用之,因为自己的什么都没有,所以就呵呵了;改了文件名字后就ok了
要多注意文件名这种情况,有时候文件名与系统的模块重名了,就出这种莫名其妙的错,也不
方便查错。
在pycharm中切换python版本步骤:
1、打开软件会看到,这里有明显的红色提示错误。原因是当前使用的是python3.3,当执行
print的时候,打印的文字需要小括号括起来。
2、在工具栏中找到这个类似扳手加齿轮的图标。
3、找到左侧 project interpreter选项。
4、这里可以看到当前使用的python版本,选择点击向下箭头。
5、显示出了可用的python版本和jython版本,jython会将python加载到jvm中执行,一般会
慢很多,那这里就选择python2.7。
6、没有红色的错误提示,现在pycharm使用的是python2.7。print不要小括号,当然加了也
没问题。
参考技术A 确实,要多注意文件名这种情况,有时候文件名与系统的模块重名了,就出这种莫名其妙的错,也不方便查错。还有pycharm通常import会只搜索项目的根目录,所以在子文件夹中import同目录py文件时也要注意。为啥 PyCharm 找不到正确版本的 pip 来安装 Python 模块?
【中文标题】为啥 PyCharm 找不到正确版本的 pip 来安装 Python 模块?【英文标题】:Why is PyCharm unable to find the correct verion of pip to install a Python module?为什么 PyCharm 找不到正确版本的 pip 来安装 Python 模块? 【发布时间】:2015-10-18 02:21:36 【问题描述】:OSX:10.9.5
PyCharm:4.5
我正在 PyCharm IDE 中开发项目,使用 2.7.3 Python 解释器,需要导入psycopg2
模块。我尝试使用 PyCharm 安装模块,但失败并要求我手动安装:
Image of error message
所以我在 bash shell 中输入了该命令,安装了模块,现在它显示在项目解释器 2.7.2 中,但不在 2.7.3 中!!!!!!
也许pip
版本太旧了?我从 bash shell 升级了 pip:pip install --upgrade pip
【问题讨论】:
【参考方案1】:您应该打开 Preferenes > Project: (projectname) > Project Interpreter。
从下拉列表中选择您想要的解释器。如果您像我一样安装了带有 Homebrew 的 Python,那么您可能想要从 Cellars 中选择一种 Python 解释器,以简化您可能使用 Homebrew 安装的其他软件包的使用。
【讨论】:
【参考方案2】:可能只是你的系统没有安装pip,只有pip3。
我的系统只显示我有 pip3 而不是 pip。
使用which pip3
和which pip
看看你有没有。
我决定更新 pip3,首先尝试 pip3 install --upgrade pip3
,奇怪的是,它返回:ERROR: No matching distribution found for pip3
接下来,我运行了pip3 install --upgrade pip
,现在 PyCharm 可以从 GUI 安装包。
【讨论】:
【参考方案3】:您没有指定您拥有的 pip 版本。我的猜测是 pip 版本太旧并且 PyCharm 传递了一些标志,该标志返回导致它失败的弃用警告。尝试更新 pip:pip install --upgrade pip
【讨论】:
我从 bash shell 升级到 pip 7.1.0,由于某种原因,它只显示在 python 2.7.2 而不是 python 2.7.3以上是关于python3在pycharm中为啥导入random模块不能用? TypeError: 'module' object is not callable的主要内容,如果未能解决你的问题,请参考以下文章
我Python3.8.0自带的IDLE中可以使用jieba,为啥Pycharm不行?