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