要在虚拟机上linux系统使用pycharm需要什么硬件配置
我用的是VMware傻瓜式安装的ubuntu14.04-32位版本,安装后第一件事当然是$ sudo apt-get install openssh,这样才能使用ssh,推荐用putty客户端连接操作。
先备份一下原有的list
$ cp /etc/apt/sources.list /etc/apt/sources.list.bak12
然后编辑源文件,加上找到的源,用putty ssh连接的话复制后可以直接右键粘贴,和win下的cmd一样。
$ vim /etc/apt/sources.list12
输入i到INSERT模式,在最上方插入,然后esc,最后:wq保存退出。
更新一下源:
$ sudo apt-get update12
python环境准备
linux默认是有python2的环境的,现在很多人都开始使用python3了,所以为了方便自由切换环境而不互相影响,使用virtualenv和virtualenvwrapper管理虚拟环境。
更新pip的国内源
有很多可以自己在网上搜。
在主目录下创建.pip文件夹:
$ mkdir ~/.pip12
然后在该目录下编辑pip.conf:
[global]
trusted-host = mirrors.aliyun.com
index-url = http://mirrors.aliyun.com/pypi/simple/1234
由于最新的pip安装需要使用的https加密,所以在此需要添加trusted-host。
对于window系统来说基本配置相同,创建或修改配置文件在%HOMEPATH%\pip\pip.ini。12
不过,也有指出可以修改\Lib\site-packages\pip\models\index.py文件的。
# PyPI = Index('https://pypi.python.org/')
PyPI = Index('https://pypi.douban.com/')
123
安装两个工具,不用sudo的话可能会报权限问题:
$ sudo pip install virtualenv
$ sudo pip insatll virtualenvwrapper123
在主目录~/.bashrc(查看.*这种文件要用ls -a)加上:
export WORKON_HOME=/home/USERNAME/virtualenv # 虚拟环境放置的目录
source /usr/local/bin/virtualenvwrapper.sh123
然后执行:
source ~/.bashrc12
此时就可以使用virtualenv的一些指令了:
deactivate # 退出当前虚拟环境
workon [虚拟环境名称] # 使用某个虚拟环境
rmvirtualenv [虚拟环境名称] # 删除某个虚拟环境
lsvirtualenv # 列出所有虚拟环境
- $ mkvirtualenv -p python3 py3env12
- $ pip install -r requirements.txt12
选择SSH Credentials
host就是虚拟机的网络地址,我这里是192.168.204.129
User name和Password是Linux系统的用户名密码
python interpreter path:python解释器的链接地址,如果是用的虚拟环境的话在virtualenv中选择,比如我是:/home/fossy/virtualenv/py3env/bin/python。
创建一个python3的虚拟环境
指定版本为python3(也有可能要换成python3.2/python3.4,具体要看你系统里面/use/bin/里面的文件是什么名字),环境名字为py3env。创建成功后命令行前面会有(py3env)环境的名字,自动切换了过来。
在虚拟环境下执行pip install的话是安装到该环境的,这样就不会影响其他环境,使用virtualenvwrapper是把虚拟环境集中管理。
如果已经用pip freeze > requirements.txt生成了一份安装包列表的话,那么直接修改好必须的包后放入环境中,直接运行:
就可以一键安装所有包。
最后,用pycharm远程连接
先添加远程的interpreter,settings-Project:[PjNAME]-Project Interpreter-Add remote。
添加成功的话,可以看到python console是调用远程解释器启动的。
还没有部署代码呢
File-Settings-Build, Execution, Deployment-Deployment
点击绿色加号,选择SFTP方式
填入相关参数,Root path是代码上传到远程linux下的路径,可以用主目录也可以用项目对应的目录。
Mappings中设置windows中的本地项目目录,如果前面用的主目录,这里还可以设置项目目录,两个路径有一个对应项目目录就可以上传到指定目录。