[英]Ubuntu , Apache2 , Django ) Fatal Python error: Py_Initialize: Unable to get the locale encoding ImportError: No module named 'encodings'
[英]Fatal Python error: Py_Initialize: unable to load the file system codec. ImportError: No module named 'encodings'
我正在嘗試制作簡單的 python 程序,該程序打開網頁列表供用戶從站點手動下載報告。 我以前沒有任何准備 exe 文件的經驗..而且我只是在學習 python 編碼的過程。 所有這些都是在 Windows 7 x64 上完成的
這是我的python代碼:
#!C:/Python34/python.exe -u
from splinter import *
import time
import os
import csv
#----------------------------------
raporty = []
with open('../raporty.csv', newline='') as csvfile:
contents = csv.reader(csvfile, delimiter=' ', quotechar='|')
for row in contents:
r = ', '.join(row)
r = r.replace(',','')
raporty.append(r)
#--not implemented yet
zmienne = []
with open('../zmienne.csv', newline='') as csvfile:
contents = csv.reader(csvfile, delimiter=' ', quotechar='|')
for row in contents:
r = ', '.join(row)
r = r.replace(',','')
zmienne.append(r)
print("start")
browser = Browser()
#----------------LOGIN------------------
browser.visit('https://xxxx')
print(browser.title)
if browser.title == "xxxxxxxxxxxx":
element = browser.find_by_name('login').first
element.value = "xxxx"
element2 = browser.find_by_name('password').first
element2.value = "xxxx"
browser.find_by_value('sign in').click()
time.sleep(5)
#----------------------------------
j = 1
for i in raporty:
webpage = 'webpage_link'
print("text" + i)
browser.visit(webpage)
j += 1
if j > 15:
time.sleep(j)
else:
time.sleep(12)
我的 setup.py 文件如下所示:
from distutils.core import setup
import py2exe
setup(
console=['Final.py'],
options={
"py2exe":{
"skip_archive": True,
"unbuffered": True,
"optimize": 2,
"packages": ["encodings", "splinter"]
}
},
)
我必須解決的第一個問題是 selenium 包中丟失的文件(webdriver.xpi 和 webdriver_prefs.json),但我手動編譯后已成功將它們包含到 library.rar 文件中。 不幸的是,在運行我的文件后,我收到消息:
Fatal Python error: Py_Initialize: unable to load the file system codec
ImportError: No module named 'encodings'
設置: MAC OSX ANACONDA
當安裝了多個版本的 python 或存在部分刪除的環境時,就會發生這種情況,即只刪除包/安裝,而不是路徑變量。
需要提前檢查的事項:
echo $PYTHONHOME
echo $PYTHONPATH
如果沒有,請使用更新.bashrc
或.bash_profile
來設置環境變量
export PYTHONHOME="/Users/<user>/anaconda3/"
export PYTHONPATH="${PYTHONHOME}/bin"
要在當前 shell 中設置這些變量,請運行source .bashrc
。
如果這不能解決您的問題,請在您的機器中搜索名稱為“encodings”的文件夾。
find / -type d -name "encodings"
打印具有名為 "encodings" 的文件夾的目錄列表。
刪除所有未指向正在使用的 python 的目錄。
rm -rf <directory>
當我使用 Python 3.6 安裝 Anaconda 時,我遇到了同樣的錯誤。 通過添加指向 Python 安裝位置的環境變量“PYTHONPATH”來解決該錯誤。
我參考以下鏈接,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.