ImportError: cannot import name ‘Random’

我是在 python 3 遇到這一個 error messag:

import tempfile
File "/usr/local/lib/python3.6/tempfile.py", line 45, in 
from random import Random as _Random
ImportError: cannot import name 'Random'

使用 pip 或 pip3 都會出錯,但之前沒問題,我的開發環境是在 Mac OSX 上,這個發生在 venv 的環境裡,我後來是透過 brew update python 更新了新版本的python 並刪掉 venv 資料夾,重新做一個 virtual environment 就解決了,猜測是 venv 裡的python 版本出問題。


通過pip安裝virtualenv:

$ pip install virtualenv

教學:
http://pythonguidecn.readthedocs.io/zh/latest/dev/virtualenvs.html


$ cd your_project_folder
$ virtualenv venv
$ . venv/bin/activate

滿有趣的,提示字元前多了一個(venv)

要退出,就是下 deactivate 即可。

只有第1次需要下 virtualenv venv 之後要進去,就是. venv/bin/activate 就進去了。

滿神奇的,可以不需要下 sudo 就可以透過 pip 安裝所有的程式。virtualenv 裡是乾淨的,所以所有第3方的 package 需要重新 pip install 一次。


相關文章:

在 Mac OS 用 PyInstaller 打包 python
https://stackoverflow.max-everyday.com/2017/02/mac-pyinstaller/

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *