一般linux系統都自帶python2,你是要裝python3?
給你centos下源碼安裝py3 的例子把。
如果已經安裝好了python34
sudo yum remove python34
編譯安裝
python官網只為Linux提供了源碼,因此我下載python3.6.1的源碼壓縮包
第一步,CentOS裝好openssl靜態庫
鍵入以下命令: yum install -y openssl-static
若未裝該靜態庫會導致python3自帶的pip3安裝失敗
第二步,編譯python3源碼
0. CentOS安裝GCC和wget yum install -y gcc,wget
yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
1. 先解壓python3的源碼包 wget http://python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
tar xf Python-3.6.1.tar.xz
2. 配置安裝路徑 cd Python-3.6.1 //進入python3源碼解壓後的文件夾
./configure --prefix=/usr/local/python3 //默認配置文件並設置安裝路徑
3. 編譯python3源碼 make
4. 安裝 make install
最終若無錯誤提示,說明安裝成功
5. 添加文件鏈接 安裝後鍵入命令?python3?提示不存在該命令,這是因為我們自定義了安裝目錄,因此需要添加文件鏈接,命令如下:
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
6. 測試 鍵入命令:
python3 -V
會輸出python3版本信息,說明python3安裝完成
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
❷ python在linux的伺服器上面總是運行老的代碼
你要重新啟動你伺服器上的python進程才行,如果你好禪的python是在像wsgi、fastCGI、mod_python這樣在httpd後面的,就重新啟動你的httpd就好了。
現在一般情況下伺服器端的python都是先啟動一個或幾個進程,把程序讀到內存里等著request來,不會等到request來的時候臨時去讀.py,這樣速度會快一些,但是另一方搭洞面就是你新修改的程序不可能反應到內存知襪枯里。
❸ linux 終端 運行 python
Linux終端中的操作均是使用命令行來進行的。因此,對於小白來說,熟記幾個基本的命令行和使用方法能夠較快的在Linux命令行環境中將python用起來。
打開命令行窗口
打開命令行窗口的快捷鍵如下:
Ctrl + Alt + t
關閉名命令行窗口
關閉命令行窗口的快捷鍵如下:
Ctrl + d
進入python環境
在命令行中直接輸入python即進入了python的編輯環境。進入環境後最明顯的提示是:游標由~$變成>>>。
退出python環境
使用ctrl +d的方式退出python環境。回到命令行環境。
在python環境中輸入多行函數
在python環境中,回車是輸入結束並執行語句。在輸入多行函數的情況下,輸入一行後回車則直接運行了某句代碼而不是整個函數塊。因此,需要能夠換行但不結束輸入的方法。
在語句的末尾輸入英文的;\即可實現換行。
例如:
?
1
2
3
def weight_variable(shape):
initial = tf.truncated_normal(shape, stddev=0.1);\
return tf.Variable(initial);\
注意:輸入函數塊時注意縮進,否者會報出IndentationError: unexpected indent python錯誤。
non-ascii character xe5 in file解決方法
原因:程序中的編碼錯誤,python默認支持acii模式,但不支持utf8,因此,程序中的中文注釋會引發Error。
解決方法:源代碼文件第一行添加#coding:utf-8即可避免。
退出python環境
使用ctrl +d的方式退出python環境。回到命令行環境。
在python環境中輸入多行函數
在python環境中,回車是輸入結束並執行語句。在輸入多行函數的情況下,輸入一行後回車則直接運行了某句代碼而不是整個函數塊。因此,需要能夠換行但不結束輸入的方法。
在語句的末尾輸入英文的;\即可實現換行。
例如:
?
1
2
3
def weight_variable(shape):
initial = tf.truncated_normal(shape, stddev=0.1);\
return tf.Variable(initial);\
注意:輸入函數塊時注意縮進,否者會報出IndentationError: unexpected indent python錯誤。
non-ascii character xe5 in file解決方法
原因:程序中的編碼錯誤,python默認支持acii模式,但不支持utf8,因此,程序中的中文注釋會引發Error。
解決方法:源代碼文件第一行添加#coding:utf-8即可避免。
❹ Linux下如何編譯Python的*.py
直接使用命令跟上文件名就可以,如:
python test.py
❺ Python程序代碼混淆、編譯、打包、運行(桌面程序防破解向)
像Python這種解釋性的語言,要想私有化部署的同時又保護好源碼,就像是對於魚和熊掌的追求。
雖然做不到盡善盡美,但是對代碼進行混淆,增加一點破解的難度,或許能規避一些泄露的風險。
本次演示環境:linux
確保要發布的包根目錄("demo")中有__main__.py文件,這個是程序執行入口。
編譯
批量改名.pyc文件
移動.pyc文件
清理.py文件
清理__pycache__文件夾
打包成zip
運行時只要將zip文件作為參數即可
最終整合腳本
調用方式
對於在變數和函數名上的混淆有點小兒科,而對於跨文件的類名的混淆又太容易實現。
所以對於混淆程度的取捨,要視工程的規模而定。
2.1 混淆工具pyminifier
在原來的工具 pyminifier上修復了幾個bug。
安裝:
python3 安裝
或者clone下來,自行安裝
使用例子
2.2 源碼變更
不同的配置對於源碼的要求不同,以下是筆者踩過的坑。
其他混淆想法
結合混淆、編譯和打包,嘗試出以下發布腳本。
主要的思路 :創建一個工作目錄tmp,然後在此目錄下混淆、編譯python代碼,完成後把內容打包成pyc文件,再將pyc文件和其他配置文件移動到dist,發布dist即可。
混淆的目的是最大程度保護源碼,在發布到客戶端後不被輕易破解。
❻ Linux系統更改默認Python版本
Linux 默認的Python版本為Python2.X,但是在很多時候我們需要使用Python3.X,那麼我們需要更改Linux的默認Python版本,更改很簡單,只需要兩句話。
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
完成之後就可以看見Python版本由2.X改為了3.X。
參考https://www.cnblogs.com/white-the-Alan/p/8900004.html