Python配置虛擬環境以及安裝/連接mysql(Linux-Ubuntu)
虛擬環境是一個將不同項目所需求的依賴分別放在獨立的地方的一個工具,它給這些工程創建虛擬的 Python環境。它解決了「項目X依賴於版本1.x,而項目Y需要項目4.x」的兩難問題,而且使你的全局 site-packages目錄保持乾淨和可管理。
比如,你可以工作在一個需求Django 1.10的工程,同時維護一個需求Django 1.8的工程。
No1.安裝virtualenv
virtualenv 是一個創建隔絕的Python環境的 工具。virtualenv創建一個包含所有必要的可執行文件的文件夾,用來使用Python工程所需的包。
通過pip安裝virtualenv(pip安裝:sudo apt-get python-pip):
$ pip install virtualenv
測試你的安裝
$ virtualenv --version
No2.安裝virtualenvwrapper
$ pip install virtualenvwrapper(許可權報錯就加sudo)
這裡如果你報錯,類似這樣子的。
Traceback (most recent call last):nnFile "", line 1, innnFile "/tmp/pip-build-6hblrn57/virtualenvwrapper/setup.py", line 7, innnpbr=True,nnFile "/usr/lib/python3.5/distutils/core.py", line 108, in setupnn_setup_distribution = dist = klass(attrs)nnFile "/usr/lib/python3/dist-packages/setuptools/dist.py", line 269, in __init__nnself.fetch_build_eggs(attrs[setup_requires])nnFile "/usr/lib/python3/dist-packages/setuptools/dist.py", line 313, in fetch_build_eggsnnreplace_conflicting=True,nnFile "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 826, in resolven。。。。。。。。。。。。。。。。。。n
大致類似上面這種。
你可以這樣嘗試。
sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pbrnnsudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple--no-deps stevedorennsudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple--no-deps virtualenvwrappern
如果上面的嘗試報這樣的錯。
Could not find a version that satisfies the requirement virtualenvwrapper (from versions: )nNo matching distribution found for virtualenvwrappern
那就把https://pypi.tuna.tsinghua.edu.cn/simple去掉。
配置virtualenvwrapper
$ sudo find / -name virtualenvwrapper.sh
執行完為顯示出virtualenvwrapper.sh的路徑
把virtualenvwrapper.sh的路徑複製下來
然後運行下面的命令進入bashrc
$ vim ~/.bashrc
在bashrc文件中加入下面兩行
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
保存文件並且退出(vim保存退出 按esc,輸入:wp 回車,ctrl+z直接退出)
然後輸入命令
$ source ~/.bashrc
這裡有可能有的人會報錯。大概是這樣的。
/usr/bin/python: No module named virtualenvwrappernvirtualenvwrapper.sh: There was a problem running the initialization hooks.nnIf Python could not import the module virtualenvwrapper.hook_loader,ncheck that virtualenvwrapper has been installed fornVIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH isnset properly.n
這樣的話你要檢查一下,你是不是安裝的python3,並且你安裝virtualenv用的pip3安裝的?如果是的,請你在bash文件加上這一句
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3n
python3的路徑可能有的人時usr/bin/python3,按照自己的填寫上去。
創建虛擬環境
python3環境的創建
$ mkvirtualenv -p /usr/bin/python3 test_py3
python2環境的創建
$ mkvirtualenv test_py2
進入虛擬環境
$ workon test_py3
運行python查看版本為python3,成功!
退出虛擬環境
$ deactivate
刪除虛擬環境
$ rmvirtualenv [環境名]
列出所有虛擬環境
$ workon
No3.python Mysql
MySQL 安裝
$ sudo apt-get install mysql-server
登錄
$ mysql -uroot -p
提示輸入密碼 輸入root
成功進入mysql
讓MySQL伺服器被遠程訪問
打開mysql配置文件
$ sudo vim /etc/mysql/my.cnf
找到bind-address = 127.0.0.1更改為bind-address = 0.0.0.0修改後,重啟MySQL伺服器
$ sudo server mysql restart檢查mysql運行情況
$ ps aux|grep mysqld
重新登錄
$ mysql -uroot -p
還需要在mysql中輸入一下命令
GRANT ALL PRIVILEGES ON *.* TO root@% IDENTIFIED BY 你的密碼 WITH GRANT OPTION;
這個命令是許可權賦值命令,為了簡單實用,我把所有的許可權都給賦值,*.*其實是一個正則表達式,表示所有的表都要賦許可權,這個許可權是通過root用戶連接過來,%代表所有的外部ip,這裡也可以指明某一個ip,就是任何的ip只要通過root用戶(後面IDENTIFIED BY 你的密碼意思是root的密碼為你自己設置的登錄密碼)你都可以訪問所有表
執行完之後刷新
flush privileges;
python-MySQLdb安裝
首先進入虛擬環境
$ workon test_py3
(test_py3)xxx@xxx:~$ pip install mysqlclient
然後進入python
>>>import MySQLdb
正常導入不報錯就說明安裝成功(一定要注意大小寫,python對字母大小寫非常敏感!)
No4.通過python和MySQLdb獲取數據
以下是python連接mysql並且獲取一條數據的代碼
我演示一下
成功獲取!
到這裡Python配置虛擬環境以及安裝/連接mysql就搞定了!
歡迎大家來評論、批評指正!
2017.09.10更新
-------------------------------
關於Mac下的mysql安裝和配置,一般mysql在Linux和windows安裝套路大體一致,但是mac上會存在一些不一致的地方。
安裝mysql其實很簡單,官網下或者終端上homebrew安裝,但是安裝好之後我要配置cnf文件的時候按照linux安裝方法你會找不到配置文件,mac下的cnf文件在/usr/local/etc下面去找會找到my.cnf文件,沒有的話創建一個。然後安裝好mysql.server start開啟mysql服務,然後mysql -uroot -p登錄發現要密碼,唉?我沒設置啊?這個時候就會蛋疼了,其實很簡單,
進入終端cd 進 /usr/local/mysql/bin/
輸入 :./mysqld_safe --skip-grant-tables &n
enter後mysql會自動重啟
再輸入命令 ./mysql就進入mysql的client了輸入命令FLUSH PRIVILEGES;n
再輸入命令
SET PASSWORD FOR root@localhost = PASSWORD(重新設置你的密碼);n
好了,然後後面你可以設置許可權了
GRANT ALL PRIVILEGES ON *.* TO root@% IDENTIFIED BY 你的密碼 WITH GRANT OPTION;n
然後退出quit;
之後在mysql -uroot -p登錄就輸入你剛剛設置的密碼就可以了。
--------------更新完畢--------------
推薦閱讀:
※在處理時間序列數據的時候有哪些大幅提高效率的方法或技術?
※美國大選Facebook輿情分析——基於R
※造假泛濫的時代里 數據還有什麼意義?
※信貸數據探索(二)逾期客戶年齡特徵
※R語言之數據管理