我正在开发应用程序来部署Windows操作系统和一些带有驱动程序的软件。此应用程序适用于WinPE(Windows预安装环境),我从笔记本电脑的USB记忆棒或VM的VHD启动。对于开发,我使用的是桌面Windows 7上安装的IDE(PyCharm)。 但是在桌面PC上编写代码,在usb或VHD上进行复制并在笔记本电脑或VM上运行代码而无需进行调试就非常不舒服。我发现Vagrant可以帮助我在VM中运行代码,但是在WinPE中安装SSH是不可能的。
有人可以提出别的建议吗?
答案 0 :(得分:0)
只找到这样的解决方案: 1.共享项目目录以确保桌面和远程代码完全相同。 2.确保远程计算机(或VM)可以在安装了PyCharm的情况下ping您的台式PC。 3.按照PyCharm使用pydev.egg进行远程调试的说明。
它不太方便,因为每次要再次调试应用程序时,都应该在远程计算机或VM上重新启动应用程序。此外,PyCharm远程调试中还有一个错误:如果您在桌面操作系统中有西里尔语言环境,则可能会出现路径映射错误。所以在这一刻我无法正确使用断点。
这是我的调试代码:
from os import system as sys_call
import os
import sys
debug_egg_dir = "PyCharm\\debug-eggs\\"
debug_egg_name = "pycharm-debug-py3k.egg"
python_dir = os.path.dirname(sys.executable)
PORT = 15999
def connect(server):
if sys_call("ping -n 1 " + server + ">nul") != 0:
raise ConnectionError("PyCharm Debug Server ({}) is not available".format(server))
try:
sys.path.append(python_dir + "\\" + debug_egg_name)
import pydevd
pydevd.settrace(server, port=PORT, stdoutToServer=True, stderrToServer=True, suspend=False)
except ImportError:
raise FileNotFoundError("Copy file {0}{1} into {2}".format(
debug_egg_dir,
debug_egg_name,
python_dir
))
except Exception as e:
raise e