Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
导入datetime将引发ModuleNotFound';数学';在Python脚本中由命令行执行时_Python_Python 3.6 - Fatal编程技术网

导入datetime将引发ModuleNotFound';数学';在Python脚本中由命令行执行时

导入datetime将引发ModuleNotFound';数学';在Python脚本中由命令行执行时,python,python-3.6,Python,Python 3.6,我使用的是Ubuntu 17.10。在开发一个简单的脚本时,我添加了一行 from datetime import datetime 并尝试使用以下命令行运行脚本: python complete.py 但它表明: Traceback (most recent call last): File "complete.py", line 4, in <module> from datetime import datetime File "/usr/lib/python

我使用的是Ubuntu 17.10。在开发一个简单的脚本时,我添加了一行

from datetime import datetime
并尝试使用以下命令行运行脚本:

python complete.py
但它表明:

Traceback (most recent call last):
  File "complete.py", line 4, in <module>
    from datetime import datetime
  File "/usr/lib/python3.6/datetime.py", line 8, in <module>
    import math as _math
ModuleNotFoundError: No module named 'math'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 12, in <module>
    import subprocess, tempfile, os.path, re, pwd, grp, os, time
  File "/usr/lib/python3.6/subprocess.py", line 136, in <module>
    import _posixsubprocess
ModuleNotFoundError: No module named '_posixsubprocess'

Original exception was:
Traceback (most recent call last):
  File "complete.py", line 4, in <module>
    from datetime import datetime
  File "/usr/lib/python3.6/datetime.py", line 8, in <module>
    import math as _math
ModuleNotFoundError: No module named 'math'
它表明:

Python 3.6.3 :: Anaconda, Inc.

我遗漏了什么?

我已经将我的操作系统更新为Ubuntu 18.04(仿生海狸),如果您使用其他版本,以下步骤仍然有效,但值得一提的是,我不再使用原始问题中所述的17.10版本

事实证明,即使
python-V
显示了与Anaconda有关的内容,python命令仍然指向某个python2.7。我发现在安装django并尝试运行
python3-mdjango--version
检查版本是否正确后,它显示了一条消息,说明没有安装django

我所做的是:
conda安装-f python
,以确保我有一个更新的python版本。Anaconda文件存储在
/home//Anaconda/
目录中。我检查了
/bin
目录,有一些python文件和一些到python3.6的链接

使用和
ll
命令检查
/usr/bin
目录,从而找到:
python->python2.6
(!)。所以我的问题是,即使运行python-V,它显示的是3.6.3,但实际上它运行的是2.6。不知道怎么做。接下来我做了什么:

sudo mv/usr/bin/python/usr/bin/python.bk

最后


sudo ln-s/home//anaconda/bin/python/usr/bin/python

如果您将
从datetime导入datetime
替换为
导入math
,它是否仍然抛出错误?这似乎是anaconda特有的问题。尝试重新安装几次,它可能会自行修复@放大它会显示相同的消息
没有名为“math”的模块工作得很好
,特别是当您不想为conda创建子环境并且希望您的基础环境运行python 3时
Python 3.6.3 :: Anaconda, Inc.