情景是這樣的:在C#中調用python腳本進行post請求,python腳本中使用了requests包。
Python的開發環境我們有比較多的選擇,pycharm、sublime text等等。但是作為.net平臺的Python語言ironPython,可以和C#交互,讓編程更活泛。
ironPython本身其實就是一個python的開發環境,我的電腦上還裝有python2.7和pycharm,開始的時候使用pycharm寫的,本來的想法是用VS直接調用就可以了。但是后來才明白這三者的關系。
pycharm起到的左右就是一個純編輯器的作用。在VS里面加載了寫的.py文件之后,相當于把這個.py文件內部的代碼,直接用ironpython解析一遍。
所以,pycharm中所寫的import requests(或者其他的,只要不是自身支持的)都會報錯!出現 module' object has no XXXX
現在回想一下,在pycharm中也不是直接import就ok,也是先需要安裝先從菜單欄找到安裝第三方庫的地方安裝完了之后,才能import。
所以需要在ironpython中執行等效的操作。
下面說明python中的sys模塊: sys模塊提供了一系列有關Python運行環境的變量和函數。
sys.path?
path是一個目錄列表,供Python從中查找第三方擴展模塊。在python啟動時,sys.path根據內建規則、PYTHONPATH變量進行初始化。
在iron python中默認的sys.path是ironpython的安裝路徑下的lib,而之前用pycharm安裝的庫是安裝在了python2.7的lib中。
所以要在文件的開頭加上
import sys sys.path.append(r'C:\Python27\Lib') #r是禁止轉義字符
這樣之后,ironpython就可以順著sys新增的這個path找到庫了。
在這些操作中,我感觸最深的是,要想弄清楚這些問題,不是要到網上去找代碼復制粘貼,而是專注于理解面對的是什么問題,每個問題的對象之間的邏輯關系是什么,從而找出來哪里邏輯錯了,找出來問題出在哪里,對癥下藥,才能又快又好的解決問題。無頭蒼蠅一般的不斷的轉換方法,尋找盡可能現成的代碼,終究是浪費時間,就算是找到了代碼,最后也是一無所獲,等問題稍微變變樣子,就蒙蔽了。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
