簡體   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