如何使 python 从本地目录导入同名模块而不是站点包?
How to make python import an identically named module from the local directory instead site-packages?
我有点困惑 python 如何区分安装在站点包中的模块和本地目录中的模块(如果它们具有相同的名称)以及进行 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 时我希望它从该文件夹而不是库中导入所有模块?
如果 scriptA.py 与 main.py 在同一个目录中,你就不能 import .scriptA
吗?
.
是一个快捷方式,告诉 python 在 PYTHONPATH
的其余部分之前搜索当前包
我有点困惑 python 如何区分安装在站点包中的模块和本地目录中的模块(如果它们具有相同的名称)以及进行 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 时我希望它从该文件夹而不是库中导入所有模块?
如果 scriptA.py 与 main.py 在同一个目录中,你就不能 import .scriptA
吗?
.
是一个快捷方式,告诉 python 在 PYTHONPATH