Ⅰ 怎麼將python代碼移植到開發板上運行
由於Python在ARM上開發網路程序很高效,所以就移植了Python和Json。
(親測) 適用開發板:FriendlyARM tiny/mini 6410 和FriendlyARM mini2440,其他板子自己試下。
(親測)適用內核:linux-2.6.28 Linux-2.6.32Linux-2.6.38
arm-linux-gcc版本為4.3.2的板子
步驟
下載移植包:
1.
將bin12.02.tar傳送到arm板上,並將其解壓到arm板上操作系統的bin目錄下,命令為:tar -xvf bin12.02.tar -C /
2.
將lib12.02.tar傳送到arm板上,並將其解壓到arm板上操作系統的lib目錄下,命令為:tar -xvf lib12.02.tar -C /
3.
在/etc/profile文件的最後添加如下三條語句:
export PYTHONHOME=/lib/python2.5
export PYTHONPATH=.:$PYTHONHOME:$PYTHONHOME/site-packages:$PYTHONHOME/lib-dynload
export PATH=$PATH:$PYTHONHOME:$PYTHONPATH
Json文件解壓時應拷到/lib/python2.5/下
如果import time有問題,一般是路徑設置有問題
查看$PATH,如果其值不是如下的值
如果不是上圖所示的值
在/etc/profile文件的最後添加如下三條語句:
export PYTHONHOME=/lib/python2.5
export PYTHONPATH=.:$PYTHONHOME:$PYTHONHOME/site-packages:$PYTHONHOME/lib-dynload
export PATH=$PATH:$PYTHONHOME:$PYTHONPATH
使更改後的環境變數生效(多種方式
執行 source /etc/profile
再次查看$PATH,確保其值改變,如果沒法改變,結果如下圖:
簡單粗暴有效的辦法就是將:/lib/python2.5/site-packages和/lib/python2.5/lib-dynload下的所有文件拷到/lib/python2.5/下
Ⅱ python 錯誤 no mole named time
你的python編譯之後,安裝正確了嗎?
import os
import sys
沒有問題嗎?
如果沒有問題,則看一下sys.path,裡麵包括的路徑
去這些路徑下找找
python的time庫是引用了C的time庫,所以不是time.py
Ⅲ 如何設置python模塊的默認搜索路徑
Python 的模塊搜索路徑 PYTHONPATH 類似 Java 的 CLASSPATH
由以下路徑組合而成,通過更改以下 4 者其中之一都可以改變 Python 模塊的默認搜索路徑:
1. 當前工作目錄
2. 操作系統的 PYTHONPATH 環境變數
3. Python 安裝目錄 lib/site-packages 中或 PYTHONPATH 中的 .pth 文件定義的路徑
如:find ~/my_lib -type d -print > ~/python2.6/site-packages/my_lib.pth
4. 運行時對 sys.path 的改變,如:
向後增加:
sys.path.append(path)
path 不要以 / 或 \ 結尾。
向前增加:
sys.path.insert(0, path)
Ⅳ python 初學請教,第一個是程序,我是直接復制上去運行的,但是我的運行結果和書上的不一樣
你這是正確的,運行出來就是這個效果
我運行的:
The command line arguments are:
E:\exercise\suing_sys.py
你這是直接運行的,沒有再suing_sys.py後面跟其他的參數了,書上的那樣是因為在後面加了
we are arguments
書上那樣是印出來好看吧
Ⅳ 如何進行Python主線程設置
輸入模塊可以使用其功能的其他程序。這就是為什麼我們使用Python標准庫的方法
輸入:。
#的/ usr / bin中/ env的蟒蛇
#文件名:! Using_sys.py
進口SYS
列印「命令行參數是:」
因為我在sys.argv中:
我列印網上列印「\ \ n此PYTHONPATH是',sys.path中,'\ N'
輸出:
$蟒蛇using_sys.py我們
參數的命令行參數:
using_sys
的.py我們
是
參數
登錄到到網PYTHONPATH為['/家庭/ swaroop /位元組/碼','/usr/lib/python23.zip「, BR>'/usr/lib/python2.3','/ usr / lib目錄/ python2.3 /開發平台,將linux2「,
」/usr/lib/python2.3/lib-tk','的/ usr /的lib / python2.3 / lib目錄-dynload「,
'的/ usr /lib/python2.3/site-packages','/usr/lib/python2.3/site-packages/gtk-2.0']
首先,我們使用import語句輸入sys模塊。基本上,這句話語句告訴Python中,我們要使用這個模塊。 sys模塊包含了與Python解釋器及其環境相關的功能。
當執行Python導入SYS語句,它被列在目錄中找到的sys.path變數sys.py模塊。如果您發現該文件,該模塊中的報表的主塊將被運行,然後這個你要使用的模塊。注意,在初始化過程只是我們第一次進行的輸入模塊。此外,「SYS」是「系統」的縮寫。通過使用點
sys模塊的argv變數表示--sys.argv--這種方法的一個優點是名稱不與你的程序中使用任何argv變數沖突。此外,還清楚地表明,該名稱是sys模塊的一部分。
sys.argv中的變數是一個字元串(列表中會詳細在後面的章節介紹)的列表。特別是,sys.argv中包含的命令行參數,即利用傳遞給你的程序的命令行參數的清單。
如果使用IDE來編寫和執行這些程序,請認準的命令行參數菜單的方法指定的程序。
在這里,當我們執行Python using_sys.py我們有觀點,我們使用Python命令來運行using_sys.py模塊,然後作為參數傳遞給程序的內容。 Python的,我們把它存儲在sys.argv變數。
記住,第一個參數始終是劇本sys.argv列表,它的名稱。所以,在這里,「using_sys.py」是sys.argv中[0],'我們'是sys.argv中[1],'是'是sys.argv中[2]和「論據」是sys.argv中[3]。注意,Python的從0開始計數,而不是從頭開始。
sys.path中包含的目錄名輸入模塊的列表。我們可以觀察到sys.path的第一個字元串是空的 - 這部分在當前目錄下的空字元串表示形式是sys.path中,這PYTHONPATH環境變數是相同的。這意味著,你可以直接在當前目錄下輸入模塊。否則,你必須把你的模塊在sys.path所列的目錄之一。
Ⅵ python 類和繼承,包及模塊導入 求解答
一 .mole
通常模塊為一個文件,直接使用import來導入就好了。可以作為mole的文件類型有".py"、".pyo"、".pyc"、".pyd"、".so"、".dll"。
二. package
通常包總是一個目錄,可以使用import導入包,或者from + import來導入包中的部分模塊。包目錄下為首的一個文件便是 __init__.py。然後是一些模塊文件和子目錄,假如子目錄中也有 __init__.py 那麼它就是這個包的子包了。
一.模塊你可以使用import語句將一個源代碼文件作為模塊導入.例如:
[python]view plain
#file:spam.py
a=37#一個變數
deffoo:#一個函數
print"I'mfoo"
classbar:#一個類
defgrok(self):
print"I'mbar.grok"
b=bar()#創建一個實例
使用import spam 語句就可以將這個文件作為模塊導入。系統在導入模塊時,要做以下三件事:
[python]view plain
importspam#導入並運行模塊spam
printspam.a#訪問模塊spam的屬性
spam.foo()
c=spam.bar()
用逗號分割模塊名稱就可以同時導入多個模塊:
[python]view plain
importsocket,os,regex
[python]view plain
importosassystem
importsocketasnet,threadasthreads
system.chdir("..")
net.gethostname()
[python]view plain
fromsocketimportgethostname#將gethostname放如當前名字空間
printgethostname()#直接調用
socket.gethostname()#引發異常NameError:socket
from語句支持逗號分割的對象,也可以使用星號(*)代表模塊中除下劃線開頭的所有對象:
[python]view plain
fromsocketimportgethostname,socket
fromsocketimport*#載入所有對象到當前名字空間
[python]view plain
#mole:foo.py
__all__=['bar','spam']#定義使用`*`可以導入的對象
另外, as 也可以和 from 聯合使用:
[python]view plain
h=hostname()
import 語句可以在程序的任何位置使用,你可以在程序中多次導入同一個模塊,但模塊中的代碼*僅僅*在該模塊被首次導入時執行。後面的import語句只是簡單的創建一個到模塊名字空間的引用而已。sys.moles字典中保存著所有被導入模塊的模塊名到模塊對象的映射。這個字典用來決定是否需要使用import語句來導入一個模塊的最新拷貝.
[python]view plain
#檢查是單獨執行還是被導入
if__name__=='__main__':
#Yes
statements
else:
#No(可能被作為模塊導入)
statements
Ⅶ 如何在android上運行Python代碼
在android上運行python腳本,或者在android上使用python交互界面,對熟悉python的研究或開發人員來說,是一件很有吸引力的事情,因為python腳本真是非常高效,另外,有很多非常好的庫
android官方目前沒有支持在android設備運行python,但是網上有一些項目組做了這個事情on-apps-scripts-on-android/ 這個鏈接就提供好幾個項目,我稍微嘗試了 Kivy 這種方式, 需要安裝
的東西太多,就放棄了. 推薦 e/28這種方式,使用 qpython 項目, 可以用非常少的付出得到 android 上可以運行的 python 環境.
1. Please download QPython from url:hcom/ 這里我採用不同的方式,直接從360手機助手搜索並安裝 qpython , 更加方便
2. adb install qpython package into device or emulator
3. change /system folder to be readable and writeable
4. modify /system/etc/mkshrc to add following at the end of the file
ANDROID_PRIVATE=/data/data/com.hipipal.qpyplus/files;export ANDROID_PRIVATE
ANDROID_PUBLIC=/storage/sdcard/com.hipipal.qpyplus;export ANDROID_PUBLIC
ANDROID_SOCKET_zygote=9;export ANDROID_SOCKET_zygote
AP_HANDSHAKE=10e4c98a-4216-47a3-bf67-57b99d7d516e;export AP_HANDSHAKE
AP_HOST=127.0.0.1;export AP_HOST
AP_PORT=45367;export AP_PORT
LD_LIBRARY_PATH=/vendor/lib:/system/lib:/data/data/com.hipipal.qpyplus/files/lib:/data/data/com.hipipal.qpyplus/files:/data/data/com.hipipal.qpyplus/lib
export LD_LIBRARY_PATH
PATH=/data/data/com.hipipal.qpyplus/files/bin:/sbin:/vendor/bin:/system/bin:/system/xbin
export PATH
PYTHONHOME=/data/data/com.hipipal.qpyplus/files;export PYTHONHOME
PYTHONOPTIMIZE=2;export PYTHONOPTIMIZE
PYTHONPATH=/data/data/com.hipipal.qpyplus/files/lib/python2.7/:/data/data/com.hipipal.qpyplus/files/lib/python2.7/lib-dynload/:/data/data/com.hipipal.qpyplus/files/lib/python2.7/site-packages/:/storage/sdcard/com.hipipal.qpyplus/lib/python2.7/site-packages/:
export PYTHONPATH
PYTHONSTARTUP=/storage/sdcard/com.hipipal.qpyplus/lib/python2.7/site-packages/qpythoninit.py
export PYTHONSTARTUP
TMPDIR=/storage/sdcard/com.hipipal.qpyplus/cache;export TMPDIR
5 relogin the shell
6. type python in the adb shell
root@generic:/ # python // 我嘗試的時候,直接運行 python (其實是運行 /data/data/com.hipipal.qpyplus/files/bin/python) 會報錯: error: only position independent executables (PIE) are supported. 我測試的設備是 Nexus 6 , android 6.0 , 在
這些比較新的 android 系統上有保護,需要可執行程序使用 -PIE 進行編譯,否則無法運行. 但我發現同樣的目錄下 python-android5 是可以運行的, 所以就 mv python python.bak ; ln -s python-android5 python ; 這樣後面就可以直接運行 python 了.
分類:android
Ⅷ 如何創建和使用Python模塊。
精華答案 模塊可以從其他程序 輸入 以便利用它的功能。這也是我們使用Python標准庫的方法. 輸入:#!/usr/bin/env python # Filename: using_sys.pyimport sysprint 'The command line arguments are:' for i in sys.argv:print iprint '\n\nThe PYTHONPATH is',sys.path,'\n'輸出:$ python using_sys.py we are arguments The command line arguments are: using_sys.pyweareargumentsThe PYTHONPATH is ['/home/swaroop/byte/code', '/usr/lib/python23.zip', '/usr/lib/python2.3', '/usr/lib/python2.3/plat-linux2', '/usr/lib/python2.3/lib-tk', '/usr/lib/python2.3/lib-dynload', '/usr/lib/python2.3/site-packages', '/usr/lib/python2.3/site-packages/gtk-2.0'] 首先,我們利用import語句 輸入 sys模塊。基本上,這句語句告訴Python,我們想要使用這個模塊。sys模塊包含了與Python解釋器和它的環境有關的函數。 當Python執行import sys語句的時候,它在sys.path變數中所列目錄中尋找sys.py模塊。如果找到了這個文件,這個模塊的主塊中的語句將被運行,然後這個模塊將能夠被你 使用 。注意,初始化過程僅在我們 第一次 輸入模塊的時候進行。另外,「sys」是「system」的縮寫。 sys模塊中的argv變數通過使用點號指明——sys.argv——這種方法的一個優勢是這個名稱不會與任何在你的程序中使用的argv變數沖突。另外,它也清晰地表明了這個名稱是sys模塊的一部分。 sys.argv變數是一個字元串的 列表 (列表會在後面的章節詳細解釋)。特別地,sys.argv包含了 命令行參數 的列表,即使用命令行傳遞給你的程序的參數。 如果你使用IDE編寫運行這些程序,請在菜單里尋找一個指定程序的命令行參數的方法。 這里,當我們執行python using_sys.py we are arguments的時候,我們使用python命令運行using_sys.py模塊,後面跟著的內容被作為參數傳遞給程序。Python為我們把它存儲在sys.argv變數中。 記住,腳本的名稱總是sys.argv列表的第一個參數。所以,在這里,'using_sys.py'是sys.argv[0]、'we'是sys.argv[1]、'are'是sys.argv[2]以及'arguments'是sys.argv[3]。
Ⅸ 請問如何安裝python模塊
你好:
下面以編譯安裝gdchart:
去下面的網址:
http://www.fred.net/brv/chart/home.html
下載最新的gdchart0.11.5dev.tar.gz
# tar xf gdchart0.11.5dev.tar.gz
# cd gdchart0.11.5dev
# make; make install
默認安裝在/usr/local/include、/usr/local/lib目錄下。
Ⅹ 學習python遇到的問題
教材裡面是指在命令行里輸入命令運行
linux裡面(bash)執行python程序方法是
$python xxx.py
註:$表示linux中非root用戶,root是#
在windows(cmd)是
>>python.exe xxx.py
你直接在idle中運行就沒有這些效果.
因為在idle中運行相當於已經進入python交互界面後用
import xxx.py
所以arugment 為空!