各有各的小煩惱,各有的小期待
這是人家私事,不要大嘴巴
在Pycharm中import whois時,總是失敗
原因是安裝了python3.x
相關操作過程,將環境變量path中關於Python的配置c:\Python27和c:\Python27\Scripts都刪除,pycharm中仍然沒有找到whois module
import whois Traceback (most recent call last): File "<input>", line 1, in <module> File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.1.3\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "C:\Developer\python\spider\demo\whois.py", line 1, in <module> from whois import whois ImportError: cannot import name whois
但Setting中的配置顯示,這個第三方類庫是有安裝的。
然后把C:\Users\用戶名\AppData\Local\Programs\Python下的Python36-32文件夾刪除。
然后Pycharm中識別了下面顯示的whois Package
一般來說,我們會將自己寫的Python模塊與python自帶的模塊分開存放以達到便於維護的目的。
Python 運行環境在查找庫文件時是對 sys.path 列表進行遍歷,如果我們想在運行環境中注冊新的類庫,主要有以下三種方法:
- 在sys.path列表中添加新的路徑。
- 設置PYTHONPATH環境變量。
- 將庫文件復制到sys.path列表中的目錄里(如site-packages目錄)。
其實,最簡單的辦法是用 .pth 文件來實現。Python 在遍歷已知的庫文件目錄過程中,如果見到一個 .pth 文件,就會將文件中所記錄的路徑加入到 sys.path 設置中,這樣 .pth 文件說指明的庫也就可以被 Python 運行環境找到。
windows環境:
C:\Users\Administrator>set PYTHONPATH=E:/Project/Python/ModuleAndPackage/ C:\Users\Administrator>python Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.path ['', 'E:\\Project\\Python\\ModuleAndPackage',
'C:\\Windows\\system32\\python27.zip',
'C:\\Python\\DLLs', 'C:\\Python\\lib',
'C:\\Python\\lib\\plat-win',
'C:\\Python\\lib\\lib-tk',
'C:\\Python', 'C:\\Python\\lib\\site-packages'] >>>
http://www.cnblogs.com/qingspace/archive/2016/03/16/5284480.html
Linux環境:
echo " export PYTHONPATH=/Project/Python/ModuleAndPackage/" >>/etc/profile
source /etc/profile
操作:
在Python/Lib/site-package目錄下創建一個MyModule.pth文件,其中內容為自定義的模塊所在的路徑。
C:\Project
這樣Project目錄下的python文件就可以被找到了
學習python不久,碰到個問題,怎么樣把自己寫的模塊加入到python默認就有的搜索路徑中呢?不要每次非得import sys; sys.path.append(‘/home/fightlikekobe/python’)才可。
上網找了很多久未果,都來我自己糊里糊塗找到了解決方法,那就是在dist-packages(即/usr/local/lib/python2.7/dist-packages)添加一個路徑文件,如mypkpath.pth,必須以.pth為后綴,寫上你要加入的文件名稱就是了,如我的:
/home/fightlikekobe/python
保存退出,OK!結果自己驗證,重啟terminal,再次打開python,
>>> import sys
>>> sys.path
['/home/fightlikekobe', '/usr/bin', '/usr/local/lib/python2.7/dist-packages/pymysql_sa-1.0-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/PyMySQL-0.5-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/hiredis-0.1.0-py2.7-linux-i686.egg', '/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.3-py2.7-linux-i686.egg', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/local/lib/python2.7/dist-packages', '/home/fightlikekobe/python', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PIL', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client', '/usr/lib/python2.7/dist-packages/ubuntuone-client', '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', '/usr/lib/python2.7/dist-packages/ubuntuone-couch', '/usr/lib/python2.7/dist-packages/ubuntuone-installer', '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol', '/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode']
http://blog.sina.com.cn/s/blog_59ba44680100z0mt.html