我的web服務器不允許我安裝額外的Python模塊。有沒有辦法在其他地方的雲服務器上執行Python腳本(它允許插件)。因此,服務器1處理Web請求並在服務器2上調用Python,它將輸出返回給服務器1.在雲中執行Python
回答
這是一個簡單的python web服務器的扭曲方式。 最簡單的方法是創建一個VPS,任何雲提供商都可以做到這一點。 (例如在亞馬遜上創建一個小實例)。
從那裏,你將有一個完整的Linux發行版,你可以使用任何你想要的模塊,插件和腳本來安裝你想要的任何版本的python。
但是,一旦你設法這樣做了,爲什麼不把你的web服務器移到雲端去除必須調用輔助服務器的開銷。
將python模塊的內容提取到某個相關文件夾並以這種方式導入它們可能更容易。當然,你可能會失去一大堆模塊/包管理的優秀屬性,但至少你可以得到你的東西的工作..
請注意,這種方法很容易在開始時快速工作。之後,您可能希望通過使用適當的包管理工具(如ldrumm的答案中描述的工具)來獲得更強大/解耦的解決方案。
就像這個想法一樣,但並不是所有的python模塊都很容易整合這種方式。有些需要額外的系統依賴性,有些則不是開源的... –
是的,但是如果它在這種特殊情況下適用於模塊,那麼這是一個可行的解決方案。 –
這就是爲什麼我高舉它:p –
我會親自嘗試在系統python上儘可能獨立,以便能夠爲我的Python應用程序執行任何操作。它允許你實現無根訪問任何地方的事情是Pythonz:https://github.com/saghul/pythonz
(也有是https://github.com/yyuu/pyenv)
然後,您可以在此基礎之上,這也是建議Pythonz的作者使用virtualenv
。
然後,您也可以直接將Python的非Python依賴項安裝到Pythonz託管的Python前綴中,或者直接安裝到virtualenv
前綴中。
virtualenv
是您想要的軟件包,對於任何Python開發人員來說都是不可或缺的。
它至少解決了兩個問題:沒有特權
安裝包
virtualenv
允許你指定的目錄,這意味着你可以安裝包而不中創建任何包你自己的本地安裝根特權。
mkdir myvirtualenv && cd myvirtualenv && virtualenv --no-site-packages . && source bin/activate
該命令創建一個新的目錄,然後創建一個新的virtualenv。這包含bin include
lib
local
所以你有一個標準的目錄爲你設置新的文件。因此而不是引用的系統封裝,它看起來在本地目錄第一
線source bin/activate
改變你的$PATH
設置。
安裝包
許多項目的特定版本需要包的特定版本。這可能與系統上另一個項目的要求相沖突。 virtualenv
救援:
source bin/activate && pip install foo==1.2.3
virtualenv
幾乎總是去手牽手與pip
,它允許你安裝一個包的任何版本到活動virtualenv
。然後多個項目可以與不同的版本/包需求共存。
編輯
一旦你已經下載的鏈接頁面的包,並提取其內容(與tar -xzf virtualenv-1.10.1.tar.gz
),你可以從提取的包的根目錄下運行python virtualenv.py
。
而且,恩,他是怎麼安裝這個軟件包的... –
@PreetKukreti報仇? – ldrumm
幾乎沒有。它的邏輯聲音。這表明他移動主機或創建一個VPS或獲取root帳戶是類似於響應「獲得更好的硬件」,以最優化的問題。 –
- 1. 在雲中執行應用程序
- 2. 如何在Qliksense雲中執行預測?
- 3. 在Python中執行多行
- 4. 執行*在Python
- 5. 執行到碼頭雲?
- 6. 在python中執行腳本
- 7. 在Python中執行Javascript
- 8. 在Python中暫停執行
- 9. 在python中執行錯誤
- 10. 執行XML在python
- 11. 執行'import.py'時執行Python ImportError,但執行'python import.py'時執行Python ImportError
- 12. 在Cygwin中執行Python代碼行
- 13. 在Eclipse中執行Python代碼行
- 14. python在函數中執行命令行
- 15. python在IDLE中執行,但不在termnal
- 16. 如何在python中執行方法執行
- 17. 在python中載入網頁後執行JavaScript執行
- 18. 即使在python中執行IF stmt,也執行ELSE stmt
- 19. 如何在Python中執行函數之前執行預檢查?
- 20. PHP執行Python
- 21. Python執行
- 22. 在雲中執行查詢「In」選項NoSQL類型數據庫
- 23. 在CoreOS雲配置中執行命令(例如添加交換)
- 24. 無法在雲代工中使用流執行任務
- 25. Firebase的雲端函數在執行前中斷
- 26. 如何在谷歌雲端執行另一個python筆記本datalab
- 27. Python中的執行時間
- 28. 執行中的python-的paramiko
- 29. 正在執行Python函數
- 30. 在python執行Sha-3
你試過'virtualenv'嗎?你可以將任何你喜歡的東西安裝到virtualenv中...... – ldrumm
virtualenv會被安裝,還是我必須安裝它? –
我不知道。嘗試在shell上輸入'which virtualenv',看看它說了什麼。 – ldrumm