pythonforwindow
① 如何創建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才能更改字體大小
② 用python進行windows的界面編程哪個庫和環境最好用
1、Pydev + Eclipse _最好的免費python IDE
Pydev的是Python IDE中使用最普遍的,原因很簡單,它是免費的,同時還提供很多強大的功能來支持高效的Python編程。
2、PyCharm _最好的商業python IDE
PyCharm是來自JetBrains公司的全功能python開發環境。
3、 VIM
VIM是一個很先進的文本編輯器,在python開發者社區中很受歡迎
4、Wing IDE
Wing IDE是另外一個商業的、面向專業開發人員的python集成開發環境,由wingware公司開發。
5、Spyder Python
Spyder Python是一個開源的python集成開發環境,非常適合用來進行科學計算方面的python開發。
6、Komodo IDE
Komodo是Activestate公司開發的一個跨平台的集成開發環境,支持多種語言包括python。
7、PTVS - Best Python IDE for Windows
PTVS(Python Tools for Visual Studio)集成在Visual Studio中,就像Pydev可以集成在eclipse中一樣。
③ python怎麼操作windows服務
你可以使用pythoncom 庫,它包含ActivePython 或者可以安裝pywin32 (Python for Windows extensions).
下面是一個簡單操作服務的例子:
importpythoncom
importwin32serviceutil
importwin32service
importwin32event
importservicemanager
importsocketclassAppServerSvc(win32serviceutil.ServiceFramework):
_svc_name_="TestService"
_svc_display_name_="TestService"
def__init__(self,args):
win32serviceutil.ServiceFramework.__init__(self,args)
self.hWaitStop=win32event.CreateEvent(None,0,0,None)
socket.setdefaulttimeout(60)
defSvcStop(self):
self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
win32event.SetEvent(self.hWaitStop)
defSvcDoRun(self):
servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE,
servicemanager.PYS_SERVICE_STARTED,
(self._svc_name_,''))
self.main()
defmain(self):
pass
if__name__=='__main__':
win32serviceutil.HandleCommandLine(AppServerSvc)
你的代碼需要放在mian()方法裡面,通常會有一些情況通過檢查你在 SvcStop 方法中設置的標志,然後中斷循環
④ python用for用法
for語句是python的循環語句, 這里的w是個變數, 這個語句的意思是將words這個列表裡的元素依次賦值給變數w, 並執行下面的print語句. 相當於:
w='cat'
print(w,len(w))
w='window'
print(w,len(w))
w='defenestrate'
print(w,len(w))
⑤ 如何在Windows系統中安裝Python
工具原料:電腦,python安裝包
到python的官方網站下載最新的python安裝程序,目前最新的是3.6.0版本
注意事項:在第二部Add Python3.5.2to PATH前勾選,可以直接將python3.5.2添加到系統環境變數,就不需要再對python環境進行配置了
⑥ 如何在windows上安裝python
方法如下:
首先,根據Windows版本(64位還是32位)從Python的官方網站下載Python 3.5對應的64位安裝程序或32位安裝程序。
⑦ 如何編譯可以在Windows下運行的帶有Python支持的ARM linux GDB
做這件事情的目的是為了在QtCreator里調試ARM Linux程序的時候,能看清楚QString、QList這些Qt特有的對象的內容,而不是一個完全看不懂的結構體。
目前(2014年8月)Linaro、CodeSourcery的GCC工具鏈里的GDB都不支持Python。想知道你用的GDB支持不支持,試一試就行,這樣表示不支持:
(gdb) python
>print 'Hello GDB!'
>(按Ctrl+D)Python scripting is not supported in this of GDB.
這樣表示支持:
(gdb) python
>print 'Hello GDB!'
>(按Ctrl+D)Hello GDB!
這件事情乍一看也很簡單,只要把GDB源碼下載下來,然後再配置,打開Python支持就行了。實際上會遇到的問題是,在MinGW下,又要與「\」和「:」這兩個Windows路徑里的刺頭斗爭了。我覺得我之前挺傻,編譯MinGW下Qt的時候,就去硬磕源碼和configure腳本去了。這次GDB的configure是自動生成的,不是給人看的,configure.ac看起來也很費勁,根本磕不下去,於是我換了個思路,在ubuntu下交叉編譯吧,sudo apt-get install mingw32,這是Ubuntu下的MinGW交叉編譯器。
然後是依賴,這樣的GDB要依賴expat和python的開發版本。如果是ubuntu底下直接編譯,apt-cache search一下他們的開發版本,然後sudo apt-get install一下就好了;給MinGW交叉編譯就麻煩了。先說expat,這個好辦,把http://downloads.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz下載下來,然後:
./configure --prefix=[安裝目錄,如/home/c/mingw-gdb/expat] --host=i586-mingw32msvc
make
make install
會提示一些警告,無視即可。
Python就無語了,目前的GDB貌似最高支持Python 2.7,而2.7版本的Python本身不支持MinGW…… 好在有高手做了Patch,也寫了說明,可以參考這文章:http://mdqinc.com/blog/2011/10/cross-compiling-python-for-windows-with-mingw32/
但是,就算這樣,編譯也充滿挑戰,要修復很多問題,出來的Python還少「nt」模塊。就在我覺得沒辦法的時候,突然發現Windows版Qt提供的MinGW居然內置了Python開發包,位置在Tools/mingw48_32/opt,趕緊把它拷貝到Linux下,比如/home/c/mingw-gdb/python。當然,你也必須確保ubuntu下有可用的python。
然後,給GDB打一個補丁:
--- gdb-7.8/gdb/configure 2014-07-29 20:37:42.000000000 +0800
+++ gdb-7.8-old/gdb/configure 2014-08-30 00:08:27.122042706 +0800
@@ -8263,21 +8263,22 @@
# We have a python program to use, but it may be too old.
# Don't flag an error for --with-python=auto (the default).
have_python_config=yes
- python_includes=`${python_prog} ${srcdir}/python/python-config.py --includes`
+ python_config_tool=`echo ${python_prog} | sed "s#python.exe#python-config#g"`
+ python_includes=`${python_config_tool} --includes`
if test $? != 0; then
have_python_config=failed
if test "${with_python}" != auto; then
as_fn_error "failure running python-config --includes" "$LINENO" 5
fi
fi
- python_libs=`${python_prog} ${srcdir}/python/python-config.py --ldflags`
+ python_libs=`${python_config_tool} --ldflags`
if test $? != 0; then
have_python_config=failed
if test "${with_python}" != auto; then
as_fn_error "failure running python-config --ldflags" "$LINENO" 5
fi
fi
- python_prefix=`${python_prog} ${srcdir}/python/python-config.py --exec-prefix`
+ python_prefix=`${python_config_tool} --exec-prefix`
if test $? != 0; then
have_python_config=failed
if test "${with_python}" != auto; then
@@ -8343,12 +8344,12 @@
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+#if ac_fn_c_try_link "$LINENO"; then :
have_libpython=${version}
found_usable_python=yes
PYTHON_CPPFLAGS=$new_CPPFLAGS
PYTHON_LIBS=$new_LIBS
-fi
+#fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CPPFLAGS=$save_CPPFLAGS
這個補丁的目的是強制為檢測到python。
然後給拷貝到Linux下的python開發包打一個補丁:
--- python-old/bin/python-config 2013-04-18 02:43:01.000000000 +0800
+++ python/bin/python-config 2014-08-30 00:53:16.630060288 +0800
@@ -1,4 +1,4 @@
-#!/temp/x32-480-posix-dwarf-r2/mingw32/opt/bin/python2.7.exe
+#!/usr/bin/python
import sys
import os
@@ -31,26 +31,23 @@
for opt in opt_flags:
if opt == '--prefix':
- print sysconfig.PREFIX
+ print '../python'
elif opt == '--exec-prefix':
- print sysconfig.EXEC_PREFIX
+ print '../python'
elif opt in ('--includes', '--cflags'):
- flags = ['-I' + sysconfig.get_python_inc(),
- '-I' + sysconfig.get_python_inc(plat_specific=True)]
+ flags = ['-I' + os.path.split(os.path.realpath(__file__))[0] + '/../include/python2.7']
if opt == '--cflags':
- flags.extend(getvar('CFLAGS').split())
+ flags += ['-fno-strict-aliasing -DMS_WIN32 -DMS_WINDOWS -DHAVE_USABLE_WCHAR_T -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes']
print ' '.join(flags)
elif opt in ('--libs', '--ldflags'):
- libs = getvar('LIBS').split() + getvar('SYSLIBS').split()
- libs.append('-lpython'+pyver)
+ libs = ['-lm -lpython2.7 -Wl,--out-implib=libpython2.7.dll.a']
# add the prefix/lib/pythonX.Y/config dir, but only if there is no
# shared library in prefix/lib/.
if opt == '--ldflags':
if not getvar('Py_ENABLE_SHARED'):
- libs.insert(0, '-L' + getvar('LIBPL'))
- libs.extend(getvar('LINKFORSHARED').split())
+ libs.insert(0, '-L' + os.path.split(os.path.realpath(__file__))[0] + '/../lib/python2.7/config')
print ' '.join(libs)
因為Linux下是無法運行開發包中的python.exe的,所以這個補丁借用了ubuntu的python。裡面的cflags和ldflags都是在Windows底下運行原始python-config獲得的。prefix和exec-prefix設成「../python」,可以在編譯完以後,把python開發包拷貝到gdb安裝目錄裡面的python子目錄,這樣運行GDB的時候就不需要設定PYTHONHOME環境變數了。
最後一個事情,確保你的Linux下有arm交叉編譯器,我的是arm-linux-gnueabihf,是啥target就寫啥。
准備工作做完了,開始配置和編譯:
./configure --with-expat --host=i586-mingw32msvc --target=arm-linux-gnueabihf --with-libexpat-prefix=[expat安裝位置] --with-python=[python開發包安裝位置/bin/python.exe]
make
make DESTDIR=[GDB安裝位置] install
然後把GDB安裝位置下面的所有文件拷貝到Windows下,再把python開發包拷貝到同目錄下的python子目錄,大功告成。
如果提示沒找到libpython2.7.dll,那就把GDB安裝目錄的python/bin下的拷貝到bin下。
如果發現生成的exe文件太大了,那就strip一下。
2015年9月12日追加:
在windows下調試時,一般會提示說載入不了共享庫,讓你用"set sysroot"或"set solib-search-path"之類設定路徑的。這個問題可以通過.gdbinit文件,用上面這兩條命令來設定路徑解決,如果想一勞永逸,可以在編譯的時候加上host_configargs環境變數來解決這個問題:
host_configargs=--with-sysroot=E:\MinGW\opt\sysroot-arm ./configure ...
或者
export host_configargs=--with-sysroot=E:\MinGW\opt\sysroot-arm
./configure ...
後面的路徑是你放在windows下的sysroot的位置。