python的環境搭建
㈠ Appium環境部署(三)——python的下載、安裝與配置
一、下載:根據個人環境和需求選擇對應版本進行下載
1、官網下載
https://www.python.org/
3、網上輸入關鍵字「python」搜索
二、安裝與配置
1、找到下載exe文件,然後雙擊,進行安裝
2、定義好要裝python的目錄後,然後把下方的兩個選項勾選上(方便後期使用python的,不然還得自己去環境變數進行配置)(注意:安裝目錄盡量不要選擇C盤)
3、需要同時安裝兩個python版本,比如python2、python3
(1)2個程序安裝方法一致,雙擊進行安裝,自定義安裝
(2)安裝的文件夾不要在同一個目錄下
(3)重點:在安裝好的目錄下找到「python.exe」這個執行文件,然後進行自定義命名:比如這個目錄下安裝的是2.0,那就修改成「python2.exe」;另一個目錄下安裝的是3.0,那就修改成「python3.0.exe」
(4)然後把這兩個目錄及各自目錄下的Scripts目錄添加到環境變數path下,如 E:python;E:pythonScripts;E:python39;E:python39Scripts
三、檢查環境
1、打開cmd,輸入python,回車,查看返回的版本號
2、如果安裝的時候修改了「python.exe」的名字為「python3.exe」,則在cmd框輸入python3,回車,查看返回的版本號
3、可以編個學習語言的語句輸出試用一下 如 print("Hello World") 回車輸出查看結果
㈡ 如何為python項目創建虛擬環境
我們在開始一個python項目,而不是幾行簡單的代碼時,我們傾向於開始使用第三方的dependencies.當項目越來越大時,我們需要考慮如何有效的管理這些第三方庫。當安裝第三方庫時,我們肯定是想安裝在虛擬環境中。幫助我們保持我們實際系統環境的干凈,避免打亂整個系統python環境。
我們可以使用pip把第三方庫安裝到python項目中。一個項目中往往要安裝多個,鑒於安裝的第三方庫的各種版本,可能會導致一些兼容和運行的問題。
當我們在python項目中使用pip install ,我們是安裝到全局python下的,將會根據現有的python版本安裝第三方包。
我們可以通過以下命令來查找python的安裝目錄:
如果我們使用pip3 install ,將會安裝到python3安裝目錄的單獨的目錄下。我們可以用以下命令來覆蓋pip3這個命令:
但是這仍然解決不了我們在全局python下安裝第三方庫的問題,將會出現下列的問題:
為了避免以上的問題,python開發者使用虛擬環境。這個虛擬環境把安裝的這些第三方庫在一個隔離的環境中(目錄內)保存。
確保你的系統上已經安裝python
然後看一下pip是否也能正常調用
我們需要一個工具來創建python的虛擬環境,venv。它是封裝在python3.3+版本以上的python中的。
如果我們使用python2,我們需要手動安裝一個工具。這是為數不多的一個我們需要全局安裝的第三方庫。
注意:我們將會在文章中討論很多venv和python3,操作系統環境不同,可能會導致某些命令的些許不同,某些工具的工作原理也些許不同。
如果你的系統上沒有安裝pip:
我們首先要為項目創建一個文件夾,並進入這個文件夾:
然後我們再創建虛擬環境:
這將會創建一個名為virtualenv的目錄,這個目錄將會包含bin、lib、include文件夾,還有一個環境配置文件。
所有的文件都是為了確保,所有的代碼都運行在當前的虛擬環境下。這會幫我們把工作環境和操作系統環境隔離開來,避免我們之前提到的問題。
為了使用這個虛擬環境,我們需要激活它。激活以後,還會更改我們的命令提示符標志。這個標志也是為了表明虛擬環境已經激活,python的代碼都是在這個環境下執行。
在虛擬環境下,無法訪問使用全局的第三方庫,在虛擬環境內安裝的庫也無法在外部使用。
在虛擬環境中,只有pip和setuptools是默認安裝的。
激活虛擬環境後,變數path也會相應地發生改變,以達到虛擬環境的目的。
當我們完成工作,想切換回操作系統的全局環境,我們需要使用deactivate退出虛擬環境。
我們配置了虛擬環境並激活以後,我們不想在分享項目時,連同使用pip install命令安裝的第三方庫也一起分享。我們想去除我們的虛擬環境文件夾,但仍然可以在其他的電腦或系統上重新運行我們的工作。
為實現這個目的,我們可以在項目根目錄下創建一個requirement文件。假設我們在虛擬環境下安裝flask,安裝完成後我們使用pip freeze命令。它將會列出我們已經安裝過的庫名和版本號。
我們可以將這個列表寫到requirement文件中,上傳到git保存,或以任何形式跟他人分享。
這個命令也可以更新這個requirements.txt文件,所以在每次安裝一個新的第三方庫時,我們都習慣性的運行一下這個命令,來更新我們的安裝列表。
然後,如果任何人想在他們的電腦上運行我們的項目,他們只需要做:
所有的一切都如在我們電腦上運行的一樣。
安裝pipenv
pipenv基本上是pip的一個替代工具。它引入了兩個文件,pipfile用來替換requirements.txt,Pipfile lock(which enables deterministic builds,確定第三方庫的子依賴庫版本的更新的解決方案)
pipenv在機理上是運行pip和virtualenv,但使用一個命令來簡化操作。
安裝第三方庫,如flask,或numpy
也可以從Version Control system比如git來安裝第三方庫
需要注意上面的-e參數可以使安裝editable,目前對於pipenv來說是必須的。
如果你需要使用pytest來測試項目,但在上線後不需要這個庫,你可以指定這個庫僅僅作用於開發模式 --dev.
--dev將會把第三庫放到pipfile的一個單獨的地方【dev-packages】。
如果你現在完成了開發,本地運行正常,你想鎖定你的開發環境,並轉至線上。使用如下命令確保開發環境:
這個代碼將會創建或更新你的環境,你無需手動更改編輯。我們也應該一直使用自動生成的文件。
lock以後,在proction環境,你需要安裝最新的成功的運行環境。
這個命令是告訴pipenv,安裝時忽略pipfile,用pipfile.lock里的列表。pipenv將會創建一模一樣的環境,包括子依賴庫。
現在,另一個人想要對代碼做些更改,這種情況下,他得到代碼,包括pipfile,運行如下命令
這個命令將會安裝開發所需的所有的第三方庫,包括普通的install以及--dev安裝的。
舉例,現在你開發用到的一個第三庫有了版本升級,因為你不需要一個特定的版本,所以你在install的時候沒有指定版本號。當你運行pipenv install時,最新版本的第三方庫會安裝到你的開發環境內。
然後你對代碼做了一些更改,結果如預期一樣。然後你再重復上面的步驟lock你的環境。並更新至Proction.
將會使用默認的editor打開第三方庫的代碼。
㈢ 如何創建python開發環境
搭建Python語言IDE開發環境方法:
1、下載並安裝Python For Windows。打開Python官方網站(python.org),推薦下載Python 2.7.X版本。
2、安裝Python:一路默認設置Next下去,直到Finish,完成Python安裝3、推薦使用PyCharm: PyCharm是一種Python IDE,帶有一整套可以幫助用戶在使用Python語言開發時提高其效率的工具,比如調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。
4、下載PyCharm集成開發軟體,官網提供了兩種版本:Professional Edition(專業版可以試用30天,學習Python30天也夠用了。,Community Edition(社區版,功能少一點但也夠用了)。
5、安裝PyCharm集成開發軟體:一路默認設置Next下去,直到Finish,完成PyCharm的安裝。
6、配置PyCharm一:風格(配色方案)的調整::【File】→【Settings】→【 Editor】→【Colors & Fonts】→Scheme選擇Dracula注意事項:每天第一次啟動有點慢,第二次就快了。主題Scheme選擇以後,需要重啟軟體才能生效高解析度下,Pycharm的字體顯得很小,可以在Colors & Fonts選項里設置。但先要復制一個Scheme才能更改字體大小
㈣ 使用vim搭建python開發環境-
最近開始經常需要用vim寫代碼,這里記錄一下自己利用vim搭建基本的python開發環境所使用的插件和一些基本配置
在 ~/.vimrc 文件中,添加如下的信息,完成vim的一些基本配置。
從 GitHub clone Vundle.vim 文件到 ~/.vim/bundle 文件夾下,完成Vundle的安裝。
然後修改 ~/.vimrc 文件,添加如下的信息
若使用 Vundle 安裝 nerdcommenter 插件,需要中 Vim 的配置文件中添加
然後在 Vim 的命令行模式下執行 :BundleInstall 命令完成插件的安裝
nerdcommenter的主要使用方式:
然後在 Vim 的命令行模式下執行 :BundleInstall 命令完成插件的安裝
通過vundle安裝好NERDTree插件後,在vim命令行模式輸入命令:NERDTree就可以看到NERDTree的顯示界面。
使用組合按鍵 Ctrl + w,可將游標自動在左右側窗口進行切換。
如果想要每次啟動vim的時候都默認開啟NERDTree。可以在vimrc文件中添加:
jedi-vim插件依賴python開源庫 「jedi」 ,可以使用pip安裝:
Vim 普通模式下按 F7 便可以直接啟動 flake8 對當前文件進行語法和格式檢查。
以上是我自己用的vim工具配置,如果大家有其他的好用的插件或者配置插件,歡迎一起交流分享呀
㈤ python'的環境搭建怎麼弄
1、概念區分
對於剛剛開始學習Python的零基礎小白來說,可能很容易就會對Pycharm、Python解釋器、conda安裝、pip安裝這個幾個概念混淆。下面跟著我來逐一認識一下它們:
(1)Pycharm是Pytho開發的集成開發環境(Integrated Development Environment,簡稱IDE),它本身無法執行Python代碼。
(2)Python解釋器才是真正執行代碼的工具,pycharm里可設置Python解釋器,一般我們可去Python官網下載Python3.7或Python3.8版本;如果安裝過anaconda ,它裡面必然也包括一個某版本的Python解釋器;Pycharm配置Python解釋器選擇哪一個都可以。
(3)anaconda是把python所有常用包的合集,並提供給我們使用 conda 命令非常非常方便的安裝各種Python包。
(4)conda安裝:我們安裝過anaconda軟體後,就能夠使用conda命令下載anaconda源里(比如中科大鏡像源)的包。
(5)pip安裝:也是一種類似於conda安裝的python安裝方法,如果用過Centos系統,它就像yum安裝一樣。
2、修改鏡像源
在使用安裝 conda 安裝某些包會出現慢或安裝失敗問題,最有效方法是修改鏡像源為國內鏡像源。之前都選用清華鏡像源,但是2019年後已停止服務。推薦選用中科大鏡像源。
先查看已經安裝過的鏡像源,cmd窗口執行命令:
conda config --show
查看配置項 channels ,如果顯示帶有 tsinghua ,則說明已安裝過清華鏡像。
channels:
https://mirrors.tuna.tsinghua.e.cn/tensorflow/linux/cpu/
https://mirrors.tuna.tsinghua.e.cn/anaconda/cloud/msys2/
https://mirrors.tuna.tsinghua.e.cn/anaconda/cloud/conda-forge/
https://mirrors.tuna.tsinghua.e.cn/anaconda/pkgs/free/
https://mirrors.tuna.tsinghua.e.cn/anaconda/cloud/pytorch/
下一步,使用 conda config --remove channels url地址 刪除清華鏡像,如下命令刪除第一個。然後,依次刪除所有鏡像源
conda config --remove channels https://mirrors.tuna.tsinghua.e.cn/tensorflow/linux/cpu/
添加目前可用的中科大鏡像源:
conda config --add channels https://mirrors.ustc.e.cn/anaconda/pkgs/free/
並設置搜索時顯示通道地址:
conda config --set show_channel_urls yes
確認是否安裝鏡像源成功,執行 conda config --show ,找到 channels 值為如下:
channels:
https://mirrors.ustc.e.cn/anaconda/pkgs/free/
defaults
以上就是分享的Python基礎學習之環境搭建的全部學習內容,大家都看懂了嗎?希望本文的分享能幫到大家!
㈥ 樹莓派搭建python環境
1、更新軟體源,運行命令(sudo apt-get update)更新軟體源
2、覺得work目錄沒必要創建,所以省略makedir work
3、安裝wiringPi命令加上 --recursive
4、安裝WiringPi-Python
樹莓派搭建python環境 https://www.yahboom.com/build.html?id=4178&cid=308
㈦ CentOS+nginx+uwsgi+Python 多站點環境搭建
轉自 Xiongpq
http://www.cnblogs.com/xiongpq/p/3381069.html
略有補充(可能出現錯誤及解決辦法)
環境:
CentOS X64 6.4
nginx 1.5.6
Python 2.7.5
正文:
一:安裝需要的類庫及Python2.7.5
安裝必要的開發包
yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
CentOS 自帶Python2.6.6,但我們可以再安裝Python2.7.5:
cd ~
wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2
tar xvf Python-2.7.5.tar.bz2
cd Python-2.7.5
./configure --prefix=/usr/local
make && make altinstall
安裝完畢後,可是使用」python2.7」命令進入python2.7的環境。
二:安裝Python包管理
easy_install包 https://pypi.python.org/pypi/distribute
方便安裝Python的開發包
cd ~
wget https://pypi.python.org/packages/source/d/distribute/distribute-0.6.49.tar.gz
tar xf distribute-0.6.49.tar.gz
cd distribute-0.6.49python2.7 setup.py install
easy_install --version
紅色部分必須是「python2.7」,否則將安裝到默認的2.6環境內。
pip包 https://pypi.python.org/pypi/pip
安裝pip的好處是可以pip list、pip uninstall 管理Python包, easy_install沒有這個功能,只有uninstall
easy_install pip
pip --version
三:安裝uwsgi
uwsgi: https://pypi.python.org/pypi/uWSGI
uwsgi參數詳解: http://uwsgi-docs.readthedocs.org/en/latest/Options.html
pip install uwsgi
uwsgi --version
測試uwsgi是否正常:
新建test.py文件,內容如下:
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return "Hello World"
然後在終端運行:
uwsgi --http :8001 --wsgi-file test.py
在瀏覽器內輸入: http://你購買的雲主機公網ip:8001 ,看是否有「Hello World」輸出,若沒有輸出,請檢查你的安裝過程。
四:安裝django
pip install django
測試django是否正常,運行:
django-admin.py startproject demosite
cd demositepython2.7 manage.py runserver 0.0.0.0:8002
在瀏覽器內輸入: http://1 你購買的雲主機公網 :8002,檢查django是否運行正常。
五:安裝nginx
cd ~
wget http://nginx.org/download/nginx-1.5.6.tar.gz
tar xf nginx-1.5.6.tar.gz
cd nginx-1.5.6
./configure --prefix=/usr/local/nginx-1.5.6 \
--with-http_stub_status_mole \
--with-http_gzip_static_mole
make && make install
安裝Nginx時報錯
錯誤提示:
./configure: error: the HTTP rewrite mole requires the PCRE library.
安裝pcre-devel與openssl-devel解決問題
yum -y install pcre-devel openssl openssl-devel
./configure --prefix=/usr/local/nginx
make
make install
六:配置uwsgi
uwsgi支持ini、xml等多種配置方式,但個人感覺ini更方便:
在/ect/目錄下新建uwsgi9090.ini,添加如下配置:
[uwsgi]
socket =
master = true //主進程
vhost = true //多站模式
no-stie = true //多站模式時不設置入口模塊和文件
workers = 2 //子進程數
reload-mercy = 10
vacuum = true //退出、重啟時清理文件
max-requests = 1000
limit-as = 512
buffer-sizi = 30000
pidfile = /var/run/uwsgi9090.pid //pid文件,用於下面的腳本啟動、停止該進程
daemonize = /website/uwsgi9090.log
設置uwsgi開機啟動,在/etc/init.d/目錄下新建uwsgi9090文件,內容如下:
uwsgi9090
#! /bin/sh
# chkconfig: 2345 55 25
# Description: Startup script for uwsgi webserver on Debian. Place in /etc/init.d and
# run 'update-rc.d -f uwsgi defaults', or use the appropriate command on your
# distro. For CentOS/Redhat run: 'chkconfig --add uwsgi'
### BEGIN INIT INFO
# Provides: uwsgi
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the uwsgi web server
# Description: starts uwsgi using start-stop-daemon
### END INIT INFO
# Author: licess
# website: http://lnmp.org
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="uwsgi daemon"
NAME=uwsgi9090
DAEMON=/usr/local/bin/uwsgi
CONFIGFILE=/etc/$NAME.ini
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
set -e
[ -x "$DAEMON" ] || exit 0
do_start() {
$DAEMON $CONFIGFILE || echo -n "uwsgi already running"
}
do_stop() {
$DAEMON --stop $PIDFILE || echo -n "uwsgi not running"
rm -f $PIDFILE
echo "$DAEMON STOPED."
}
do_reload() {
$DAEMON --reload $PIDFILE || echo -n "uwsgi can't reload"
}
do_status() {
ps aux|grep $DAEMON
}
case "$1" in
status)
echo -en "Status $NAME: \n"
do_status
;;
start)
echo -en "Starting $NAME: \n"
do_start
;;
stop)
echo -en "Stopping $NAME: \n"
do_stop
;;
reload|graceful)
echo -en "Reloading $NAME: \n"
do_reload
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload}" >&2
exit 3
;;
esac
exit 0
uwsgi9090
然後在終端執行:
-- 添加服務
chkconfig --add uwsgi9090
-- 設置開機啟動
chkconfig uwsgi9090 on
七:設置nginx
找到nginx的安裝目錄/usr/local/nginx,打開conf/nginx.conf文件,修改server配置
server {
listen 80;
server_name localhost;
location / {
include uwsgi_params;
uwsgi_pass ; //必須和uwsgi中的設置一致
index index.html index.htm;
client_max_body_size 35m;
}
}
注意 :安裝django這步中startproject的demosite路徑,需要和nginx.conf中 uwsgi_param UWSGI_CHDIR /demosite;對應上。
設置nginx開機啟動,在/etc/init.d/目錄下新建nginx文件,內容如下:
nginx
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/opt/nginx-1.5.6/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/opt/nginx-1.5.6/conf/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
sleep 1
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
nginx
然後在終端執行:
-- 添加服務
chkconfig --add nginx
-- 設置開機啟動
chkconfig nginx on
八:測試
OK,一切配置完畢,在終端運行
service uwsgi9090 start
service nginx start
錯誤1:
[root@VM_23_251_centos nginx-1.5.6]# service uwsgi9090 start
env: /etc/init.d/uwsgi9090: Permission denied
[root@VM_23_251_centos nginx-1.5.6]# service nginx start
env: /etc/init.d/nginx: Permission denied
解決辦法1:把可執行勾選上
錯誤2:
[root@VM_23_251_centos ~]# sudo service nginx start
env: /etc/init.d/nginx: No such file or directory
解決辦法1:
Be careful what text editors you use on your local Windows computer. Some create Windows-style line endings (\r\n, CR-LF), which cause problems like this on Unix-like systems such as Linux or Mac OS X.
If you use such an editor, adjust its settings so that it creates files with Unix-style line endings. If the editor has no such setting, you should not be using it at all.
文本格式由windows 改為unix版
錯誤3:
*** WARNING: Can't find section "uwsgi" in INI configuration file /etc/uwsgi9090.ini ***
解決辦法3:
在瀏覽器輸入: http:// 雲主機公網ip,恭喜你可以看到django的「It work」了~
九:多站配置
我採用運行多個uwsgi服務的方法來實現多個站點。
重復第六步,創建uwsgi9091.ini,並相應修改文件中的
socket = 127.0.0.1:9091
pidfile = /var/run/uwsgi9091.pid
daemonize = /website/uwsgi9091.log
並創建服務uwsgi9091,設置開機啟動。
然後修改nginx的配置文件為:
nginx
然後我們就可以通過 http://127.0.0.1:1300 來訪問新的網站了。
十:其他配置
防火牆設置
CentOS默認關閉外部對80、3306等埠的訪問,所以要在其他計算機訪問這台伺服器,就必須修改防火牆配置,打開/etc/sysconfig/iptables
在「-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT」,下添加:
-A INPUT -m state --state NEW -m tcp -p -dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT
然後保存,並關閉該文件,在終端內運行下面的命令,刷新防火牆配置:
service iptables restart
安裝Mysqldb
yum -y install mysql-develeasy_install-2.7 MySQL-python
注意紅色部分,easy_install-2.7,否則它將默認安裝到Python2.6環境內。
------------------------------------------------------------------------------------------------------------------
2014年12月02日添加:
CentOS 7中默認使用Firewalld做防火牆,所以修改iptables後,在重啟系統後,根本不管用。
Firewalld中添加埠方法如下:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload