附件是一个zip文件,其中包含我遇到问题的文件:https://www.dropbox.com/s/2btesdznqevjhz7/airship-pypa.zip?dl=0
基本上我有三个子目录:airship
、airship.icloud
和airship.steamcloud
。每个都有一个setup.py
文件和一个airship
子目录,以及包含正确文件的适当子目录,例如airship.icloud/airship/icloud/airship.icloud.py
。我在这三个目录中运行了sudo pip install -U .
,并且pip list
显示了所有安装的三个软件包。但是,当我尝试运行airship
(指向airship/airship/__init__.py
的入口点)时,它无法导入steamcloud
包:
Traceback (most recent call last):
File "/usr/local/bin/airship", line 9, in <module>
load_entry_point('airship==1.1', 'console_scripts', 'airship')()
File "/Library/Python/2.7/site-packages/airship/__init__.py", line 4, in main
airship.sync()
File "/Library/Python/2.7/site-packages/airship/airship.py", line 21, in sync
module = importlib.import_module('.' + modulename, 'airship')
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named steamcloud
相关代码:
modules = {'steamcloud': None, 'icloud': None}
modulenum = 0
for modulename in modules:
# try:
module = importlib.import_module('.' + modulename, 'airship')
if module.init():
print(modulename + ' was imported')
modules[modulename] = module
modulenum += 1
# except:
# pass
try
语句意味着用户可能没有安装相关的包,但是已经被注释掉以进行调试,就像添加了print语句一样。你知道吗
我可以确认/Library/Python/2.7/site-packages/airship/steamcloud/airship.steamcloud.py
存在并且有正确的代码。你知道吗
iCloud模块加载正常,那么为什么蒸汽云模块没有加载呢?你知道吗
分支问题:有没有更好的方法来检查是否安装了包而不必执行try
?你知道吗
您不应该在Python文件和目录的名称中添加点。这让人困惑。你知道吗
Python没有查找名为
/Library/Python/2.7/site-packages/airship/steamcloud/airship.steamcloud.py
的文件。它正在寻找一个名为/Library/Python/2.7/site-packages/airship/steamcloud.py
的文件,如果我正确理解了您的代码和错误的话。你知道吗相关问题 更多 >
编程相关推荐