mac 筆記本電腦,使用Virtualenv安裝了TensorFlow(Python版本 2.7.10)并能成功運行。想不重裝tensorflow的情況下,用pycharm 來運行以前的程式,報錯!修改多次不成功!
蘋果筆記本電腦 Mac OS High Sierra ,版本10.13.6 。
一 、已按如下方式安裝virtualenv和tensorflow。
1、打開終端,
輸入:
$sudo easy_install pip
$sudo easy_install --upgrade six
2、用pip安裝沙箱
sudo pip install virtualenv —upgrade
3、創建作業目錄(home下)
virtualenv - -system-site-packages ~/tensorflow
4、進入目錄,激活沙箱
cd ~/tensorflow
source bin/activate
成功運行各類程式。
二、安裝 PyCharm 2018.2.3 (Professional Edition) 并激活
tensorflow目錄下建立子檔案夾,并在其中新建project。
新建python file檔案,鍵入以下內容
print 'hello world'
選擇“run-run”,新建的python檔案名,成功運行。
三、選擇pycharm- preferences-project interpreter
1、add - existing enviroment-/Users/用戶/tensorflow/bin/python2.7
2、建立新的python file檔案,鍵入以下內容
import tensorflow as tf
hello=tf.constant('Hello,Tensorflow from pycharm!')
sess=tf.Session()
print sess.run(hello)
3、Edit configurations
Script path 選擇剛剛建立的python file ,Python interpreter 選擇剛剛 add 的那個虛擬環境下的python。
同時 add content roots to PYTHONPATH 與 add source roots to PYTHONPATH 復選框打勾。
Activate tool window 復選框打勾。
4、運行這個python file,報錯。
/Users/用戶/tensorflow/bin/python /Users/用戶/tensorflow/pycharm_pro/newpyfile.py
Traceback (most recent call last):
File "/Users/用戶/tensorflow/pycharm_pro/newpyfile.py", line 1, in <module>
import tensorflow as tf
。。。 。。。
File "/Users/用戶/tensorflow/lib/python2.7/encodings/__init__.py", line 134, in search_function
(mod.__name__, mod.__file__)
encodings.CodecRegistryError: incompatible codecs in module "encodings.ascii" (/Users/用戶/tensorflow/lib/python2.7/encodings/ascii.pyc)
Process finished with exit code 1
5、把run視窗的日志第一行拷出,在mac 系統的終端運行以下程式,可以正常運行。
>>> /Users/用戶/tensorflow/bin/python /Users/用戶/tensorflow/pycharm_pro/newpyfile.py
6、在PyCharm的terminal中運行上面的命令列,也可以正常執行。
/Users/用戶/tensorflow/bin/python /Users/用戶/tensorflow/pycharm_pro/newpyfile.py
已經折磨了幾天,網上查各種方法修改不成功。請問可能是什么原因?
問題補充:
網上有其他類似問題,說bash的環境變數沒有被PyCharm繼承,添加環境變數Environment variables解決。自己在運行按鈕附近的Edit Configurations設定了幾個變數和值,都不成功。
自己重新安裝 PyCharm(激活資訊、配置資訊卸載時都不能清除掉,用騰訊電腦管家徹底卸載也不行),升級到2018.2.4 ,均不能解決問題。
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
我和你類似的錯誤encodings.CodecRegistryError: incompatible codecs in module "encodings.utf_8" (/home/linkface/anaconda2/lib/python2.7/encodings/utf_8.pyc)
我的報錯的原因是,程式中有如下代碼
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
洗掉后,能夠正常運行,
你的錯誤,估計編碼問題,你加上我上面這段代碼試試。
uj5u.com熱心網友回復:
謝謝,不能解決問題。提示與前面的類似:Traceback (most recent call last):
File "/Users/用戶/tensorflow/pycharm_pro/newpyfile.py", line 3, in <module>
sys.setdefaultencoding('utf-8')
File "/Users/用戶/tensorflow/lib/python2.7/encodings/__init__.py", line 134, in search_function
(mod.__name__, mod.__file__)
encodings.CodecRegistryError: incompatible codecs in module "encodings.utf_8" (/Users/用戶/tensorflow/lib/python2.7/encodings/utf_8.pyc)
Process finished with exit code 1
uj5u.com熱心網友回復:
我也遇到相同的問題,是因為洗掉matplotlib就好用,裝上立馬不好用,很奇怪的問題 lz找到解決辦法告訴我uj5u.com熱心網友回復:
我也是洗掉掉matplotlib就好用了,真奇怪,謝謝你的建議.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/19718.html
標籤:人工智能技術
上一篇:U盤中病毒
