why choose Ubuntu as dev machine ?
- 我不喜欢mac,(其实是嫌家里的mac air 屏幕太小了...只是偶尔用用)
- 我不喜欢windows(windows不适合开发用---谁说的?其实是windows下干扰太多...最重要的..命令行太难看,没有programming的感觉..)
- Ubuntu很好看,尤其终端
安装
win10下安装全新Ubuntu LTS 16.04版,安装过程见百度
分区时,一个/分区,20G左右,一个swap分区,内存大小,剩下的全部分给/home,就这样分最合理!
调教
需要安装的依次如下:
我的电脑是Thinkpad E540,装各版本ubuntu wifi总是不稳定,解决办法:
//查看网卡信息
sudo lshw -C network
我的无线网卡信息:
product: RTL8723BE PCIe Wireless Network Adapter
github看到有此款网卡驱动
sudo apt-get install linux-headers-generic build-essential git
git clone https://github.com/lwfinger/rtlwifi_new.git
cd rtl8723be
make
sudo make install
sudo modprobe rtl8723be
这样就OK了
- 最新版的ubuntu software center,直接上官网下载
- Chromium,从刚装好的center里下载安装。
- Sougoupinyin,直接上官网下载,安装完了重启才能看到
- webstorm -v11,(我喜欢用),直接上官网下载安装,完成后百度搜破解,不想用d版也可以sublime,我就是觉得node的sublime debug太蛋疼。webstorm大法好,谁用谁知道
- Nodejs: 用apt-get是最省事的方法:
# apt-get update
# apt-get install -y python-software-properties software-properties-common
# add-apt-repository ppa:chris-lea/node.js
# apt-get update
# apt-get install nodejs
但墙裂建议适用nvm:Nodejs version manager,使用nvm安装的任何node版本都包含npm,可以随时切换node版本,并且不会遇到奇怪的问题
sudo apt-get update
sudo apt-get install build-essential libssl-dev
curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | sh
source ~/.profile
nvm ls-remote
. . .
v0.11.6
v0.11.7
v0.11.8
v0.11.9
v0.11.10
v0.11.11
v0.11.12
v0.11.13
//选择一个版本安装
nvm install 0.11.13
//查看版本
node -v
//列出已安装的所有版本
nvm ls
//default 一个版本
nvm alias default 0.11.13
- mongodb:
也可以按照以下操作,(就是按上面的网址翻译过来的),要求Ubuntu版本>=14.04
//Import the public key used by the package management system.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
//Create a list file for MongoDB(ubuntu 14.04 LTS, 16亲测也适用)
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
//Reload local package database
sudo apt-get update
//Install the latest stable version of MongoDB
sudo apt-get install -y mongodb-org
//Install a specific release of MongoDB
sudo apt-get install -y mongodb-org=3.2.6 mongodb-org-server=3.2.6 mongodb-org-shell=3.2.6 mongodb-org-mongos=3.2.6 mongodb-org-tools=3.2.6
//Pin a specific version of MongoDB--这个主要是为了显示aptget自动升级版本
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections
以上都装好后你打mongod发现运行不了,一般情况下是/data/db文件夹没有建立,所以
sudo mkdir -p /data/db
如果还报错,注意看描述,如果是Permission问题,类似
warning couldn't write to / rename file /data/db/journal/prealloc.0: couldn't open file
/opt/mongo/data/journal/prealloc.0 for writing errno:13 Permission denied
Fri Mar 28 13:09:59 [initandlisten] exception in initAndListen: 13516 couldn't open file
/opt/mongo/data/journal/j._0 for writing errno:13 Permission denied, terminating
那就是用户权限问题
当你使用 “root”账号在 mongod上做一些文章的时候,生成的文件和目录都会是root的权限。
而当你用service mongodb start时,这个的启动并不是root账号,一般是mongodb账号,因而自然访问不了一些root的文件和文件夹了。
所以只要重新分配dbpath的权限即可:
sudo chown -R 你的用户名(终端输入whoami查看) /data/db
这样mongodb就装好了
//TO DO ---边用边补充
//----05.23
mysql 安装
sudo apt-get update
sudo apt-get install mysql-server mysql-client
//启动客户端
mysql -u root -p
//(可选)安装图形界面
sudo apt-get install mysql-workbench
//05.26
- python虚拟环境之virtualenvwrapper配置
virtualenvwrapper 是一个用于管理 virtualenv 创建的虚拟环境的软件包,使用virtualenv解决了环境独立问题,但会给你的项目库带来一些混乱。你只需要激活虚拟环境和它进行交互,但是它不应该出现在版本控制中,因此这个虚拟环境目录就不应该在这里。解决方案就是使用 virtualenvwrapper。这个软件包会把所有你的虚拟环境放在一个目录的方式,通常默认是在 ~/.virtualenvs/。
sudo pip install virtualenvwrapper
安装好了以后,打开.bashrc文件
//不会用Vim....-_-|||,用sublime打开
sudo subl ~/.bashrc
末尾增加以下内容:
#将虚拟环境设置在home/.virtualenvs/目录下
export WORKON_HOME=$HOME/.virtualenvs
#设置工程目录,
#A project directory is created and bound to a virtualenv when mkproject is run instead of mkvirtualenv.
#To bind an existing project directory to a virtualenv, use setvirtualenvproject.
export PROJECT_HOME=$HOME/找个目录
source /usr/local/bin/virtualenvwrapper.sh
保存后执行
source ~/.bashrc
执行mkcirtualenv,看到没有设置任何虚拟环境
//mkvirtualenv <配置名称>如,
mkvirtualenv flask
//使用workon切换环境
workon flask
(flask) yourmachine@yourmachine:~$
A project directory is created and bound to a virtualenv when mkproject is run instead ofmkvirtualenv. To bind an existing project directory to a virtualenv, use setvirtualenvproject.
附上pycharm设置环境方法:
file-settings-Project:XXX-project interpreter,选择你的运行环境
以后所有flask项目就可以在这个环境下运行,不必再将venv装到项目目录下,爽死了