我在跟蹤這件事時遇到了一些麻煩。當我不在virtualenv下執行'python -m site'時,我得到了一個很好的輸出結果,列出了我的sys.path目錄和其他東西。當我切換到virtualenv時,沒有輸出。我簡單地看了一下https://github.com/pypa/virtualenv/blob/develop/virtualenv.py下的代碼,我可以看到virtualenv創建它自己的site.py - 但這個模塊仍然有__main__
掛鉤,並且當我從解釋器中導入並調用在if __name__ == '__main__'
下執行的任何獲取時,它都可以工作。當我嘗試通過-m
開關執行它時,有什麼區別?爲什麼在virtualenv下python -m站點沒有輸出?
0
A
回答
0
我對這個問題有點感興趣。所以我做了一些黑客。
首先,我通過插入print(__name__)
行來更改site.py在python庫目錄中。結果是
$ python -m site
site
接下來,我添加了一些文件mymodule.py到庫文件夾使用單線print(__name__)
。現在的結果是
$ python -m mymodule
site
__main__
所以似乎網站模塊之前python -m site
命令導入將運行該模塊作爲腳本。當它再次用於腳本執行時,python會省略二次導入。
相關問題
- 1. 爲什麼Python沒有顏色輸出?
- 2. 爲什麼沒有輸出?
- 3. python readline()什麼也沒有輸出
- 4. Maven:Antrun的結果在目標中,但沒有在站點階段和站點部署的輸出中。爲什麼?
- 5. Python爲什麼我在這裏沒有輸出
- 6. 爲什麼它沒有顯示輸出?
- 7. 爲什麼覆蓋沒有輸出?
- 8. 爲什麼我的vtkContourFilter沒有輸出?
- 9. 爲什麼這個python生成器根據keras沒有輸出?
- 10. Python,子進程,devenv,爲什麼沒有輸出?
- 11. 我的步驟有什麼問題,爲什麼沒有輸出?
- 12. python virtualenv:爲什麼我仍然可以在clean/new virtualenv中導入舊模塊
- 13. 爲什麼沒有斷點?
- 14. Python 2.6 virtualenv,點投擲「ImportError:沒有模塊名爲_md5」
- 15. 當我在python中輸入時,什麼都沒有出現
- 16. 爲什麼鏈接下劃線沒有出現在網站頁面
- 17. 爲什麼輸入.m文件?
- 18. 爲什麼在這個YouTube爬蟲中沒有輸出顯示在python中?
- 19. 爲什麼http響應與站點和代碼輸出不同?
- 20. 爲什麼我的網站沒有出現在Internet Explorer中?
- 21. 爲什麼Python在輸出中輸出'None'?
- 22. 我爲什麼可以導入沒有在.m文件
- 23. 爲什麼python virtualenv命令在Windows 10上失敗?
- 24. 爲什麼我沒有在我的點輸出中獲得任何圖像?
- 25. Python:爲什麼recv()在阻塞模式下沒有阻塞?
- 26. 我能知道爲什麼它沒有給出以下代碼的輸出,因爲沒有任何錯誤?
- 27. 爲什麼在給定輸出下面有區別?
- 28. 爲什麼python在virtualenv中看不到dist-packages?
- 29. 爲什麼我如果沒有給出預期的輸出? (mySQL)
- 30. 爲什麼virtualenv沒有設置我的終端提示符?