Windows環境配置 1
安裝Fortran編譯器
編譯,是指從源代碼(通常爲高級語言)到能直接被計算機或虛擬機執行的目標代碼(通常爲低級語言或機器語言)的翻譯過程。顧名思義,Fortran編譯器是用來編譯Fortran語言的程序。(注:Fortran是Formula Translation的縮寫,即數學公式翻譯器,是出現很早的一門語言,主要面向數值計算。)目前有許多不同版本的Fortran編譯器,Windows平臺上最常用的是基於微軟Visual Studio並集成了一整套IDE的商業Fortran編譯器,如CVF(Compad Visual Fortran)與IVF(Intel Visual Fortran)等,此外還有一些非商業的、基於命令行的編譯器,如gfortran/g95等。
這裏推薦使用GCC (the GNU Compiler Collection),它是由GNU計劃推出的編譯器套件,其中編譯Fortran的子程序叫GFortran。NONMEM 7.4的安裝包裏也附帶GCC安裝程序,版本爲4.6.0,建議初學者直接使用。注意:與最新版Strawberry Perl(從5.26.2.1版本開始)綁定安裝的gfortran不能用於Windows 10 上運行NONMEM,在測試安裝 NONMEM時會發生未知原因的崩潰 2。
NONMEM 7.4.3自帶的GCC默認路徑爲nm743CD/compilers
,安裝過程非常簡單,雙擊gfortran-windows-460.exe
隨後按提示操作即可。
安裝結束後,可以檢查一下GCC是否安裝成功。首先可以查看系統環境變量的Path項,如果安裝成功則會將gfortran可執行文件的路徑自動加入Path中,如:C:\Program Files (x86)\gfortran\bin
。從Windows的搜索框中找到啓動命令提示行cmd或Windows Powershell,輸入命令:gfortran --version
或gfortran -v
,如果安裝正確會出現類似下面的返回信息。第一行GNU Fortran後面數字即爲版本號,NONMEM直到7.4.4
版本自帶的GCC版本均爲4.6.0
。
注意:由於NONMEM在安裝過程中需要使用gfortran編譯源文件,之後儘量不要再更換GCC版本,GCC可能會不兼容不同版本GCC編譯的程序。
配置Perl環境
安裝Perl解釋器
Perl常見的有ActivePerl和Strawberry Perl兩大發行版,兩個版本主要的使用區別是模塊管理不同。其中ActivePerl(5.24版本之前)在Windows系統下使用ppm工具來管理Perl模塊,但ppm的資源庫在中國沒有鏡像,網絡質量差的情況下容易出錯;Strawberry Perl保持了Linux下的風格,採用cpan管理Perl模塊,cpan在全球有豐富的鏡像,在中國大陸也有10多個鏡像,使用體驗會好很多,但缺點是某些模塊管理不夠高效,忽略網絡質量的情況下不如ppm快。PsN網站上推薦初學者使用Strawberry Perl,但是5.26.2.1版本以後自帶的gfortran與NONMEM不兼容,因此接下來內容還是以ActivePerl爲例。
ActivePerl也有許多版本,PsN官方要求Perl版本不低於5.10.1
,但是因爲5.26
及以後版本不再綁定安裝ppm (Perl Package Manager),因此爲了便於後續的包安裝,這裏從ActivePerl官網下載5.24.2版本的ActivePerl進行安裝。安裝好Perl之後,也可以測試一下安裝是否成功,打開cmd,輸入命令:perl --version與ppm --version
,如果安裝成功則會返回如下信息:
安裝Perl模塊
安裝好ActivePerl之後,還需要再額外安裝一些Perl的模塊,PsN的某些功能需要調用這些模塊。以管理員身份運行cmd,依次輸入以下命令:
ppm install Math-Random
ppm install MooseX-Params-Validate
ppm install Statistics-Distributions
ppm install XML-LibXML
安裝成功或失敗後均有相應返回信息提示。
NONMEM安裝
NONMEM安裝源文件
NONMEM在安裝過程中需要調用gfortran編譯源文件,因此在開始安裝之前,必須確認gfortran已經正確安裝。首先認識一下NONMEM安裝文件夾裏的一些內容:根目錄下有許多文件名以install開頭的文件,這些是對應不同操作系統安裝NONMEM時需要直接運行的程序。對Windows而言,需要運行的是SETUP74.bat
,這其實是一個批處理文件。nonmem.lic
是NONMEM的授權文件,即使用許可證,建議在安裝NONMEM前先將授權文件拷貝至安裝文件根目錄下。readme_743.pdf
是官方的說明文檔。剩下的文件或文件夾中,除了前面已經說過的compiler文件夾外,其餘的可以暫時先不管。
安裝NONMEM
進入NONMEM安裝文件的根目錄,右擊SETUP74.bat
對其中的批處理腳本進行修改,其中:defcdd
表示來源路徑,即NONMEM安裝文件根目錄的地址,根據實際情況決定; defh
表示目標路徑,即安裝NONMEM的位置,同樣根據實際情況而決定;deff
表示編譯器。這裏假設NONMEM安裝源文件根目錄路徑爲c:\nm743CD
,目標文件夾爲c:\nm743
,編譯器爲gfortran,則SETUP74.bat
做以下修改:
修改完bat文件之後,右擊SETUP74.bat
文件管理員身份運行,如果運行成功則會如下圖所顯示,最後一行的提示Continue (y/n)? [y]
,直接回車即可。之後的過程就比較簡單了,大多時間是在等待以及根據提示的默認選項按回車。
在進行到Step 9時,在目標路徑的根目錄下可以找到progress.txt文件,打開這個文件可以看到完成進度。這一步是在編譯源文件,比較費時,這一步驟可以反映計算機CPU的性能。
安裝腳本的最後一步則是測試,會提示Do you want to test the installation?
,建議輸入y
測試安裝是否成功。最後,還需要將有效的授權文件nonmem.lic
粘貼至license文件夾覆蓋原許可證,否則在後續計算過程中會提示NONMEM許可證過期而無法啓動運算。至此,NONMEM安裝就全部結束了。
NONMEM輔助軟件安裝
PsN(Perl speaks NONMEM)安裝
在成功配置Perl環境後,就可以安裝PsN了。從PsN官網下載壓縮包,解壓後打開PsN的根目錄(默認名爲PsN-Source),啓動文件爲setup.pl
,右鍵選擇以管理員身份運行即開始安裝。通常情況下此時是可以直接運行該文件的,但有時也會出現系統不識別該類型文件的情況,若之前已經測試過Perl成功安裝的話,此時可以嘗試命令行安裝方式:以管理員身份打開cmd
,進入PsN安裝文件根目錄cd x:\..\PsN-Source
,輸入命令:perl setup.pl
。
在安裝過程中,根據提示輸入y
或n
,然後回車,多數情況下輸入y。若之前在計算機上安裝過PsN,可能會提示詢問是否保留原有的psn.conf文件,建議輸入n,讓程序新建一個psn.conf
,這個文件裏記錄了一些配置信息,包括NONMEM版本、路徑以及計算模型時的選項。安裝程序會自動搜索NONMEM所在的路徑,並自動設置好psn.conf
,但之前也發現如果NONMEM裝在比較深的目錄下,PsN安裝程序可能搜索不到,需要手動輸入NONMEM的安裝路徑。這樣PsN就安裝好了。
Pirana安裝
Pirana的安裝較爲簡單,從Pirana官網下載安裝程序pirana_2.9.9_windows.exe
,運行然後按提示操作即可。通常情況下在安裝過後無需配置就可以直接使用了,但是還是需要進一步確認下。首先是將Pirana與NONMEM關聯,選擇File\Settings\NONMEM,如下圖所示一般都是自動關聯好。點擊Local NONMEM installations欄目右上角的搜索按鈕,即可讓Pirana自動搜索或手動指定NONMEM的安裝路徑。
有時還需要手動設置PsN可執行文件的路徑,選擇PsN欄目如果PsN executable location爲空,則需要手動填寫Perl安裝目錄下的bin文件夾路徑。
最後,如果Pirana提示許可證到期部分功能被限制,則需要點擊Help\Install licence file,選擇有效的pirana.lic文件路徑,進行許可證安裝。安裝成功後,在Help\About Pirana即可查看過期時間等授權信息。