前期准备
1. 环境配置
Windows环境:
- 安装专业版Pycharm(社区版无Deployment功能,学生和教师可申请免费专业版)。
- 确保已安装SSH客户端,用于连接Ubuntu服务器。
Ubuntu环境:
- 确保Python解释器已安装。
- 配置SSH服务,允许Windows主机通过SSH连接。
2. 工具安装
- cwRsync:用于Windows与Ubuntu之间的数据同步备份。
- WSL2(Windows Subsystem for Linux):在Windows主机上运行Ubuntu环境,便于本地开发。
部署本地Pycharm项目到Ubuntu服务器
1. 配置Pycharm Deployment
- 打开Pycharm,点击
Tools
->Deployment
->Configuration
。 - 点击“+”号创建SFTP服务。
- 给部署方案设置一个名字,例如“UbuntuServer”。
- 设置连接信息:
- Host:Ubuntu服务器的IP地址。
- Port:SSH端口,默认为22。
- User name:服务器用户名。
- Authentication type:选择“Password”或“Key pair”。
- 点击“OK”保存配置。
2. 同步项目文件
- 在Pycharm中,点击
Tools
->Deployment
->Upload to UbuntuServer
。 - 选择需要上传的文件或文件夹,点击“Upload”开始同步。
解决Ubuntu One for Windows无法同步问题
1. 问题现象
在使用Ubuntu One进行文件同步时,可能会遇到“file sync starting”状态卡住的问题。
2. 解决方法
- 退出Ubuntu One,包括关闭任务管理器中所有与Ubuntu One相关的进程。
- 进入
C:\Users\[用户名]\AppData\Local\xdg\ubuntuone\syncdaemon\tritcask
目录,删除所有文件。 - 重新启动Ubuntu One客户端,一般会提示合并本地和服务器上的同步文件夹,同意即可。
Ubuntu Qt5项目迁移到Windows VS2017
1. 前言
跨平台开发中,Qt是一个强大的工具,但在Windows和Ubuntu之间迁移项目时,仍需注意诸多细节。
2. 迁移步骤
- VS2017配置Qt开发环境:
- 安装最新版Qt5.9.2。
- 配置包含目录和库目录:
包含目录:C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\cppwinrt 库目录:C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763.0\ucrt\x64 环境变量:D:\software\QT\Qt5.10.1\5.10.1\msvc2017_64\bin
- 项目文件迁移:
- 将Linux下的
uimainwindow.h
、moc.cpp
等文件拷贝到Windows项目中。 - 修改
#include
路径,确保文件引用正确。
- 将Linux下的
- 网络组件配置:
- 如果项目使用Socket,新建Qt项目时,记得勾选“Network”构件。
本地Windows主机使用Pycharm通过WSL的Ubuntu创建Django项目
1. 情境描述
在Windows主机上,通过WSL2运行Ubuntu环境,使用Pycharm创建和运行Django项目。
2. 操作步骤
- 创建Django项目:
- 在Ubuntu环境中,使用
django-admin startproject myproject
创建项目。
- 在Ubuntu环境中,使用
- 确保rsync已安装:
- 用于文件同步,确保Windows和Ubuntu环境中的文件一致。
- 运行项目:
- 在Pycharm中,直接运行Django项目。
- 环境同步:
- 若在终端安装插件,需手动激活虚拟环境:
source activate
- 安装插件后,退出虚拟环境:
deactivate
- 若在终端安装插件,需手动激活虚拟环境:
- 升级pip:
- 使用
pip install --upgrade pip
命令升级pip。
- 使用
- 项目主目录:
- 在Pycharm中,终端会显示Ubuntu环境,项目主目录位于Ubuntu文件系统中。
cwRsync数据同步备份
1. 添加RSA Key到Ubuntu服务器
- 进入
C:\Program Files (x86)\cwRsync\home\.ssh
目录。 - 执行命令:
rsync -av id_rsa.pub 用户名@IP地址:~/.ssh/newkey.pub
- 按提示输入“yes”和服务器用户密码。
2. 服务器端配置
- 进入服务器的
.ssh
目录:cd ~/.ssh/
- 将newkey.pub内容添加到authorized_keys:
cat newkey.pub >> authorized_keys
- 设置文件权限:
sudo chmod 600 authorized_keys sudo chmod 700 .ssh
3. Windows同步命令编写
- 拷贝
cwrsync.cmd
为mysync.cmd
。 - 修改
mysync.cmd
,添加rsync命令:echo "start sync for project ..." rsync -azvrl --progress --delete --exclude=".o" /cygdrive/y/file/project 用户名@IP地址:/mnt/databak/project.bak/
总结
通过以上步骤,我们可以在Windows和Ubuntu环境之间高效地同步和部署编程项目。无论是使用Pycharm的Deployment功能,还是利用cwRsync进行数据备份,亦或是通过WSL2在Windows主机上运行Ubuntu环境,这些方法都极大地提升了跨平台开发的便捷性和效率。希望本文的实践经验和技巧能为广大开发者提供有益的参考。