当模块具有相同的文件夹名称时如何导入模块,

时间:2018-01-10 12:53:44

标签: python python-2.7 google-app-engine google-cloud-python

我遇到的问题是google.appenginegoogle.cloud python模块位于名为google的不同目录下

他们的以下路径如下:

1st Path: C:\ Users \ MohammedT \ Desktop \ dsapp \ sitepackages \ dev \ google_appengine

api_server.py
appcfg.py
backends_conversion.py
BUGS
bulkloader.py
bulkload_client.py
demos
dev_appserver.py
download_appstats.py
endpointscfg.py
gen_protorpc.py
google    --> Directory 1 where appengine module resides
lib
LICENSE
new_project_template
php
php_cli.py
README
RELEASE_NOTES
remote_api_shell.py
run_tests.py

2nd Path: C:\ Users \ MohammedT \ Desktop \ datastore \ dsenv \ Lib \ site-packages

enum
enum34-1.1.6.dist-info
future
future-0.16.0.dist-info
futures-3.2.0.dist-info
gapic_google_cloud_datastore_v1-0.15.3-py2.7-nspkg.pth
gapic_google_cloud_datastore_v1-0.15.3.dist-info
gapic_google_cloud_error_reporting_v1beta1-0.15.3-py2.7-nspkg.pth
gapic_google_cloud_error_reporting_v1beta1-0.15.3.dist-info
gapic_google_cloud_logging_v2-0.91.3-py2.7-nspkg.pth
gapic_google_cloud_logging_v2-0.91.3.dist-info
google    ------------> Directory 2 where other other modules resides
googleapiclient
googleapis_common_protos-1.5.3-py2.7-nspkg.pth
googleapis_common_protos-1.5.3.dist-info
google_api_core-0.1.3-py3.6-nspkg.pth
google_api_core-0.1.3.dist-info
google_api_python_client-1.6.4.dist-info

我可以在不将它们移动到公共目录的情况下实现此目的吗?

我已将python路径设置为指向这两个目录。我目前能够从目录2导入但无法从目录1导入

1 个答案:

答案 0 :(得分:0)

您可以从其路径加载每个模块。在Python 2中使用:

import imp

foo = imp.load_source('module.name', '/path/to/file.py')
foo.MyClass()

这个可爱答案中的其他细节: How to import a module given the full path?