如何让python从本地目录导入一个同名模块而不是site-packages?

时间:2016-08-03 10:13:20

标签: python setuptools

如果python将site-packages中安装的模块与本地目录中的模块分开,如果它们具有相同的名称,并且使python从本地目录导入模块而不是安装的最佳方法,我有点困惑一。

基本上我有一个命令行应用程序,我正在使用它来安装setup.py

setup(
      name='app',
      version='0.5.2',
      packages=find_packages(),
      entry_points={
          'console_scripts': [
              'katana = app.main:main'
          ]
      }
)

我遇到的问题是当我从源文件夹运行main.py并执行:

import app.script_A

而不是src / scriptA.py(与main.py相同的文件夹),它从

导入已安装的模块
/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/app-0.5.2-py3.5.egg!/app/scriptA.py

那么解决这个问题的正确方法是什么,如果我仍然希望能够使用setuptools安装模块系统,但是当手动从源文件夹运行main.py时,我希望它能够从中导入所有模块那个文件夹而不是图书馆?

1 个答案:

答案 0 :(得分:0)

如果scriptA.py位于main.py的同一目录中,你不能只import .scriptA吗?

.是一个快捷方式,告诉python在其余PYTHONPATH

之前搜索当前包