Я новичок в Python, и я экспериментирую с модулями fabric и matplotlib. Я создал виртуальный Env с помощью conda, и я пишу программы и выполняю внутри виртуального Env.
Я написал сценарий, который использует fabric.api (fabfile.py). Я импортирую этот fabfile в другой скрипт python (Window.py) и использую определение fabfile в Window.py. Все работает нормально, и я доволен.
Теперь я хотел построить графики для некоторых данных, извлеченных с помощью Fabric. поэтому я провел исследование и обнаружил, что matplotlib подходит для моей цели. Я установил этот модуль из conda внутри виртуального Env. поэтому, к моему удивлению, после того, как я установил это и запустил свой Window.py, я получаю следующее сообщение об ошибке!
**Traceback (most recent call last):
File "Window.py", line 9, in <module>
from fabfile import *
File "F:\home\WorkSpace\FIrstPyProject\TestModules\fabfile.py", line 2, in <module>
from fabric.api import *
ImportError: No module named fabric.api**
вот мои образцы кода,
Fabfile.py
from fabric.api import *
import sys
def hello():
print "hello world"
def connect(commandInput):
print "starting to connect"
env.host_string = '[email protected]'
env.password = "nms"
with hide('output','running'):
p=run(commandInput)
return p
Window.py
import Tkinter as tk
import csv
import MasterWindow
from fabfile import *
import time
from fabric.api import *
LARGE_FONT= ("Verdana", 12)
env.host_string = '[email protected]'
env.password = "nms"
class StartPage(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self,parent)
label = tk.Label(self, text="Graphy-Home", font=LARGE_FONT)
label.pack(pady=10,padx=10)
Command = tk.Label(self, text="Enter Command")
pickCommand = tk.Entry(self)
pickCommand.pack(pady=10)
Command.pack()
button1 = tk.Button(self, text="Submit Command", command=lambda: submit())
button1.pack()
def submit(ItrCnt=0,sleepTime=3):
while (ItrCnt < 10):
print (pickCommand.get())
cmd=pickCommand.get()
ItrCnt=ItrCnt+1
time.sleep(sleepTime)
p=connect(cmd)
print(p.stdout)
когда я запускаю defs внутри fabfile, как показано ниже, все в порядке,
fab -a connect
но когда я вызываю Connect () из Window.py, все не работает, как до установки matplotlib
Я вижу вопрос, наиболее похожий на тот, который я задал здесь, по этой ссылке ниже
Ошибка импорта Python: нет модуля с именем Fabric.api?
Я не получил большой помощи от принятого ответа здесь, поскольку я не хочу использовать PIP сейчас, поскольку есть некоторая зависимость от моих окон с PIP, которая не решается. Я хочу использовать сам конду. Можно ли как-нибудь обойти эту проблему? заранее спасибо