[英]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.