pycharm 打开远程项目_Pycharm远程调试django项目

pycharm 打开远程项目_Pycharm远程调试django项目本来说坚持把 blog 写下去 无奈又落下了一个多月了 除了自己总是爱拖延 可能更大的原因是 blog 没几个人看 少了很多动力 不过为了锻炼自己的总结能力 加深自己的记忆 就算是写给自己看也要写下去 废话不多说 进入正题 最近因为需要要把 django 项目部署到服务器端 又想在本地进行调试 发现了 pycharm 的远程调试的强大 不得不佩服 jetbrains 公司 网上搜出来的很多都是零散的 过程中也是

本来说坚持把blog写下去,无奈又落下了一个多月了。除了自己总是爱拖延,可能更大的原因是blog没几个人看,少了很多动力,不过为了锻炼自己的总结能力,加深自己的记忆,就算是写给自己看也要写下去。废话不多说,进入正题…

最近因为需要要把django项目部署到服务器端,又想在本地进行调试,发现了pycharm的远程调试的强大(不得不佩服jetbrains公司),网上搜出来的很多都是零散的,过程中也是踩了很多的坑,于是这里就来记录一下整个过程。

为了方便测试,这里使用的是virtual Box安装的ubuntu17.04。

一丶远程连接配置

首先需要配置的是ssh服务,ubuntu默认是没有安装openssh-server的,那就进入终端命令

sudo apt-get install openssh-server

然后查看ssh服务是否启动

ps -e|grep -ssh

如果看到sshd的进程就说明已经启动了,只有ssh-agent是没有启动的

然后手动去启动

sudo /etc/init.d/ssh start

ssh默认的访问端口是22,可以进入配置文件修改,这里就不多说了,如果修改后了直接进行重启

sudo /etc/init.d/ssh restart

这里就不使用证书的方式进行访问了,直接使用远程登录用户的方式

然后进入pycharm, File->Settings->Deployment可以看到如下界面

pycharm 打开远程项目_Pycharm远程调试django项目

host填写服务器的公网ip,如果是用的虚拟机的话可以使用来查看ip

ifconfig

这里可以使用root用户来连接,依次填入,然后就可以连接了,连接后选择项目在远程主机的根目录,可以直接新建一个。配置完成后,再去配置下Mappings,选择本地项目的根目录就可以了,最后不要忘了Apply。

现在就可以把项目直接上传到服务器端了,然后选中项目根目录(切记不是选中某个文件!)

然后点击Tools->Deployment->Upload Default server

这样的话项目就上传完成了。

二丶配置远程虚拟环境

既然是python项目,自然要用到virtualenv和virtualenvwrapper。

直接使用命令

pip3 install python3-virtualenv

如果安装失败的话,就使用

sudo apt-get install python3-virtualenv

然后安装virtualenvwrapper

pip3 install virtualenvwrapper

安装完成后需要配置下环境变量

vim ~/.bashrc

然后把光标移动到最后一行,加入如下两行

export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh

保存后重新加载一遍才会生效

source ~/.bashrc

这样的话虚拟环境的配置就完成了

然后可以使用

mkvirtualenv xxx #新建虚拟环境 workon xxx #进入虚拟环境

因为ubuntu下默认的python版本是python2.7的,这里要建python3的环境可以直接使用

mkvirtualenv Test –python=python3.5

接下来是安装项目的扩展包,因为我们之前只是将项目上传到服务器端,但是新建的虚拟环境扩展包为空,我们总不能一个个去安装吧, 这里我们可以把之前的扩展包全部写在一个test.txt文件中,然后进入虚拟环境后使用命令

pip3 install -r test.txt

如果安装速度慢的话,可以使用豆瓣源,这里就不多说了。

这些工作完成后, 然后进入Pycharm File->Setting->Project Interpreter,把项目环境改成远程服务器端的虚拟环境

点击设置按钮addRomte->SSH Credential,填入服务器端的相关信息,然后在ython interpreter path选择在服务器端建立好的虚拟环境,等待加载完成后Apply一下,这样准备工作就完成了。

三丶项目相关的配置

这里服务器端MySQL的配置就不多说了,这个基本百度出来的方法没什么问题,

把本地数据转移到服务器端可以直接使用Navicate for mysql的数据传输选项。

主要记录下django里settings文件的配置,之前在本地进行调试的时候DATABASES里面的host使用的localhost使用的是localhost或者127.0.0.1,但是放到服务器端后要把它修改为服务器的公网ip。

然后还要修改一下这个

ALLOWED_HOSTS = [‘*’]

这些都完成后再去Pycharm的Edit Confrgrations中,也就是项目运行的配置环境中修改一下Host,端口默认是8000和Python iterpreter为远程虚拟环境。

然后就可以直接在本地运行服务器端的项目。

这样的话使用Pycahrm进行远程调试的整体过程就完成了,这里有很多细节我就没多说了。如果有哪些地方有问题,可以留言。

该blog首发legend’s 转载请注明出处

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/174212.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午11:55
下一篇 2026年3月26日 下午11:55


相关推荐

  • python 字幕文件ass格式转换成srt格式

    python 字幕文件ass格式转换成srt格式ass转srt脚本  自己写的一个python脚本,大家可以再GitHub上下载使用。目前为了处理字幕中的中文,ass文件的编码格式支持**UCS-2LEBOM**,srt文件的编码支持**ANSI**。因为我下载下来的字幕基本就是这两个编码。  由于代码测试只测试了个别的ass文件,而且没有完整地核对srt文件。所以代码难免会出现错误:如果您遇到其他编码的文件可以在本贴留言;如…

    2025年5月25日
    5
  • 群体智能优化算法之总结

    群体智能优化算法之总结获取更多资讯,赶快关注上面的公众号吧!第十六章群体智能优化算法总结总结一下最近一段时间关于群体智能优化算法的文章,这方面的文章目前一共发表了13篇,涉及粒子群(鸟)、人工蜂群、蜘蛛猴、蚁群、布谷鸟、萤火虫群、萤火虫、蝙蝠、鱼群、蟑螂、猫群、细菌觅食和烟花算法,虽然这都是些五花八门的小东西,但也不是无规律可循,这里需要注意的是,群体智能一般是指具有生命的种群(鸟、鱼等),但也有像烟花这样的无…

    2022年5月23日
    36
  • python列表常见排序方法

    python列表常见排序方法python 列表常见的四种排序方法

    2026年3月18日
    1
  • Nginx负载均衡算法分析[通俗易懂]

    Nginx负载均衡算法分析[通俗易懂]随着互联网信息的爆炸性增长,负载均衡(loadbalance)已经不再是一个很陌生的话题,顾名思义,负载均衡即是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应足够快,给用户很好的体验。快速增长的访问量和数据流量催生了各式各样的负载均衡产品,很多专业的负载均衡硬件提供了很好的功能,但却价格不菲(如F5BIG-IP、CitrixNetScaler、Radware等等,虽然可以解决问题

    2022年10月12日
    3
  • k3s方案

    k3s方案什么是 k3sk3s 是一个轻量级的 Kubernetes 发行版 它针对边缘计算 物联网等场景进行了高度优化 专为无人值守 资源受限 远程位置或物联网设备内部的生产工作负载而设计 k3s 有以下增强功能 打包为单个二进制文件 使用基于 sqlite3 的轻量级存储后端作为默认存储机制 同时支持使用 etcd3 MySQL 和 PostgreSQL 作为存储机制 封装在简单的启动程序中 通过该启动程序处理很多复杂的 TLS 和选项 默认情况下是安全的 对轻量级环境有合理的默认值

    2026年3月16日
    2
  • java ResourceBundle介绍「建议收藏」

    java ResourceBundle介绍「建议收藏」publicabstractclassResourceBundleextendsObject下列类的父类:ListResourceBundle,PropertyResourceBundle资源束包含特定于语言环境的对象。当程序需要一个特定于语言环境的资源时,如String,程序可以从适合当前用户语言环境的资源束中装入它。以这种方式,可以写大部分独立于用户语言环境的程序

    2022年7月12日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号