环境:

  Python-3.4.3

  Web.py-0.37

安装 web.py 的时候,提示

ImportError: No module named 'utils'

看看源码,setup.py,有这么一句

from web import __version__

这句会执行 web 文件夹中的 __init__.py,再看 __init__.py,有

import utils, db, net, wsgi, http, webapi, httpserver, debugerror

utils.py, db.py 等与 __init__.py 在同一个文件夹

做了个实验

一个文件夹 A,里面有 a.py 和 B 文件夹,B 文件夹中有 __init__.py

a.py

import os
import B print (os.getcwd ())

__init__.py

import os

print (os.getcwd ())

运行 a.py,输出的两个路径一样

Python3 从 sys.path 中找 import 的模块或包,而 Python3 中上面 import B 时运行 __init__.py 不改变当前目录,当前目录还是 A

后来……就找到了 https://github.com/warmwaver/webpy/tree/python3

--date: 2015-08-19

Python3 之 import 和 当前目录的更多相关文章

  1. Python3.6 import源文件与编译文件的关系

    小结: 在Python3.6中 源文件存在时,import会比较源文件与__pycache__里相应文件的时间戳,来决定是否重新生成缓存编译文件 源文件不存在时,import会导入相应的.pyc文件 ...

  2. Python3基础 import...as 给导入的模块起别名

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  3. python3 动态import

    有些情况下,需要动态的替换引入的包 1.常用的import方法 import platform import os 2.__import__ 动态引用 loop_manager = __import_ ...

  4. windows anaconda python3.7 import ssl,psycopg2报错

    使用anaconda,本来是为了减少装第三方模块依赖出错问题的. 但是,今天发现,也是有坑啊. 首先 import ssl 报错,import _ssl 说DLL load failed 解决办法:用 ...

  5. python3下import MySQLdb出错问题

    原因:python2下是使用的MySQLdb,python3下用的是pymysql 安装 pip install pymysql

  6. python3 python2 import 的区别

    https://stackoverflow.com/questions/12172791/changes-in-import-statement-python3

  7. python2 与 python3的区别

    python2 与 python3的区别 几乎所有的python2程序都需要一些修改才能正常的运行在python3的环境下.为了简化这个转换过程,Python3自带了一个2to3的实用脚本.这个脚本会 ...

  8. python2 与 python3的区别总结

    python2 与 python3的区别总结    几乎所有的Python 2程序都需要一些修改才能正常地运行在Python 3的环境下.为了简化这个转换过程,Python 3自带了一个叫做2to3的 ...

  9. python之import子目录文件

    问题:   在pre_tab.py文件下: print("AA") from test.te import login1 login1() from test.te import ...

随机推荐

  1. 开源一个完整的iOSApp《丁丁美图》供初学者学习

    学习iOS开发的时候,得益于开源社区的大量开源项目,去年开始购买了个人开发者账号,写了这个练手项目<丁丁美图>,并上传到了App Store(Ipad版本被驳回也懒得处理).现在将代码开源 ...

  2. Android 查缺补漏之Adapter 和 LayoutInflater

    在之前的博客我也讲过 Adapter 和 inflater,但发现讲的不够清楚,好多读者看后有疑问,今天就结合API单独讲一次. Adapter : An Adapter object acts as ...

  3. GIS的发展

    2016年2月15日,博客园的blog申请成功了,这是我的第一篇随笔,发一个GIS的发展的视频链接 http://buluo.qq.com/p/detail.html?bid=15060&pi ...

  4. 【转】 修改vs2010帮助文档(MSDN)路径

    VS2010的MSDN采用代理网页的方式,规定首次确定目录后不能更改本地Help Library的路径,只好手动变更路径 第一步: 先把MSDN装好,先装在C盘,默认的路径 第二步 现在我要把MSDN ...

  5. 【转】C#多线程

    C#中的多线程编程 C#是.Net平台的通用开发工具,它能够建造所有的.Net应用.在.Net中所有线程都运行在应用程序域(AppDomain)中,这也许让你想到Win32进程,实际上它们还是有很大的 ...

  6. pip自动生成requirements.txt依赖关系清单

    Python项目中经常会带requirements.txt文件,里面是项目所依赖的包的列表,也就是依赖关系清单,这个清单也可以使用pip命令自动生成. pip命令: 1 pip freeze > ...

  7. NSFileManager计算文件/文件夹大小

    在一些软件中,一般都会给用户展现当前APP的内存,同时用户可以根据自己的需要来清除缓存的内容.一般而言,文件夹是没有大小这个属性的,所以需要遍历文件夹的内容来计算文件夹的大小,下面用NSFileMan ...

  8. go语言让windows发出声音,或者播放音乐

    go语言让windows发出声音,或者播放音乐的例子:会发出alert警告的声音 ( 这是我应群员的求助写的, 如果你需要了解其中的调用原理或过程 或更多go语言调用win32api的资料,加群: 2 ...

  9. WIN32服务程序(二):卸载服务

    卸载服务的过程是这样的,用OpenSCManager打开SCM,使用OpenService打开准备卸载的服务,通过QueryServiceStatus查询该服务的状态是否停止,如果否,则先停止该服务C ...

  10. Swift编程语言简介

    这篇文章简要介绍了苹果于WWDC 2014发布的编程语言Swift.                                                                   ...