繁体   English   中英

无法在 Python 中导入模块?

[英]Can't import modules in Python?

我正在按照说明操作并使用以下文件: https : //github.com/eBay/ebay-oauth-python-client

导入时出现错误:oauth2api、credentialutil 和模型。 这是上述站点中的第 3 步。

import yaml, json
sys.path.insert(0, '/Users/kyle/PycharmProjects/app/ebay-oauth-python-client-master/oauthclient/model')
sys.path.insert(1, '/Users/kyle/PycharmProjects/app/ebay-oauth-python-client-master/test')
sys.path.insert(2, '/Users/kyle/PycharmProjects/app/ebay-oauth-python-client-master/oauthclient')
import credentialutil
import model
import oauth2api
print(sys.path)

错误信息:

C:\\Users\\kyle\\AppData\\Local\\Programs\\Python\\Python38-32\\python.exe C:/Users/kyle/PycharmProjects/app/app.py Traceback(最近一次调用最后一次):文件“C:/Users /kyle/PycharmProjects/app/app.py", line 10, in import credentialutil File "/Users/kyle/PycharmProjects/app/ebay-oauth-python-client-master/oauthclient\\credentialutil.py", line 20, in从 model.model 导入环境,凭据 ModuleNotFoundError: No module named 'model.model'; “模型”不是一个包

进程以退出代码 1 结束

如果我只导入模型,代码会运行:

import yaml, json
sys.path.insert(0, '/Users/kyle/PycharmProjects/app/ebay-oauth-python-client-master/oauthclient/model')
sys.path.insert(1, '/Users/kyle/PycharmProjects/app/ebay-oauth-python-client-master/test')
sys.path.insert(2, '/Users/kyle/PycharmProjects/app/ebay-oauth-python-client-master/oauthclient')
import model
print(sys.path)

没有错误信息:

C:\\Users\\kyle\\AppData\\Local\\Programs\\Python\\Python38-32\\python.exe C:/Users/kyle/PycharmProjects/app/app.py ['/Users/kyle/PycharmProjects/app/ebay-oauth -python-client-master/oauthclient/model', '/Users/kyle/PycharmProjects/app/ebay-oauth-python-client-master/test', '/Users/kyle/PycharmProjects/app/ebay-oauth-python -client-master/oauthclient', 'C:\\Users\\kyle\\PycharmProjects\\app', 'C:\\Users\\kyle\\PycharmProjects\\app', 'C:\\Users\\kyle\\AppData\\Local\\Programs\\Python\\ Python38-32\\python38.zip'、'C:\\Users\\kyle\\AppData\\Local\\Programs\\Python\\Python38-32\\DLLs'、'C:\\Users\\kyle\\AppData\\Local\\Programs\\Python\\Python38- 32\\lib'、'C:\\Users\\kyle\\AppData\\Local\\Programs\\Python\\Python38-32'、'C:\\Users\\kyle\\AppData\\Local\\Programs\\Python\\Python38-32\\lib\\site-包', 'C:\\Users\\kyle\\AppData\\Local\\Programs\\Python\\Python38-32\\lib\\site-packages\\pymodel']

进程以退出代码 0 结束

我也在 oauthclient 下得到一条绿线,我不知道为什么。 一切都拼写正确。

sys.path.insert(0, '/Users/kyle/PycharmProjects/app/ebay-oauth-python-client-master/oauthclient/model')
sys.path.insert(2, '/Users/kyle/PycharmProjects/app/ebay-oauth-python-client-master/oauthclient')

我可以看到两个问题。

首先,您似乎在 Windows 下使用 Python,但您尝试将 MacOS 路径插入sys.path 您确定像/Users/kyle/...这样的路径真的存在于您的文件系统中吗?

其次,您只需要插入父路径,即/path/to/ebay-oauth-python-client/oauthclient到您的sys.path 在我的本地测试中,这有效:

import yaml, json
import sys
sys.path.insert(0, r"C:\Users\guosh\Downloads\test\ebay-oauth-python-client\oauthclient")
import credentialutil
import model
import oauth2api
print(sys.path)

但是,我建议您将包作为一个整体导入,如下所示:

import yaml, json
import sys
sys.path.insert(0, r"C:\Users\guosh\Downloads\test\ebay-oauth-python-client")
import oauthclient
print(sys.path)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM