পাইথন 3 সহ ওএসজিও 4 ডাব্লু শেল


17

আমি পাইথন 3 এর সাথে ওএসজিও 4 ডাব্লু শেলটি ব্যবহার করতে চাই তবে টাইপ করার সময় python3আমি নিম্নলিখিত ত্রুটিটি পাই:

Fatal Python error: Py_Initialize: unable to load the file system codec
  File "C:\OSGEO4~1\apps\Python27\lib\encodings\__init__.py", line 123
    raise CodecRegistryError,\
                            ^
SyntaxError: invalid syntax

আমি পাইথন 3 কীভাবে ব্যবহার করতে পারি?

উত্তর:


24

ব্যাচ ফাইলগুলি সম্পাদনা করার প্রয়োজন নেই (এবং প্রক্রিয়াটিতে অজগর ২.7 ভাঙ্গা) বা পরিবেশের ভেরিয়েবলগুলি ম্যানুয়ালি সেট করতে হবে।

শুধু চালানোর py3_envযা পাইথন 3 স্বয়ংক্রিয়ভাবে তারপর চালানোর জন্য শেল সেট করে python3

কেবল অজগর 2 এবং 3 ইনস্টল করে একটি OSGeo4W শেল থেকে:

C:\> o-help
                   -={ OSGeo4W Shell Commands }=-

       dllupdate           pip3                sqlite3
       easy_install3       python              textreplace
       nircmd              python3             vcredist_2015_x64
       nircmdc             pythonw             xxmklink
       osgeo4w-setup       pythonw3


       make-bat-for-py   py3_env  <<<=== This is the command you want
       o-help            setup-test
       o4w_env           setup



C:\>python3
Fatal Python error: Py_Initialize: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'

Current thread 0x000013e8 (most recent call first):
^C

C:\>py3_env
C:\>python3

Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

12

ওএসজিও 4 ডাব্লু শেলের মধ্যে একটি ভাল নথিভুক্ত কমান্ড বিল্ড রয়েছে যা লুকের উল্লেখ হিসাবে শেলটিকে পাইথন 3 এ সেট করে

py3_env

মূলত এটি আপনার পাইথনহোম এবং সঠিক প্যাথ সেট করে। তারপরে আপনি পাইথন 3 এর সাথে কল করতে পারেন python3

C:\>py3_env
C:\>SET PYTHONPATH=
C:\>SET PYTHONHOME=C:\OSGEO4~1\apps\Python36
C:\>PATH C:\OSGEO4~1\apps\Python36;C:\OSGEO4~1\apps\Python36\Scripts;C:\OSGEO4~1\apps\Python27\Scripts;C:\OSGEO4~1\bin;C:\Windows\system32;C:\Windows;C:\Windows\WBem
C:\>python3
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

অসল্যান্ডারের মন্তব্য সহ আপডেট করুন:

কিউজিআইএস 2 এর সাথে আসা ওএসজিও 4 ডাব্লু শেল দিয়ে পাইথন 3 ব্যবহার করতে আপনাকে ফাইলটি পরিবর্তন করতে হবে {path you installed qgis}\etc\ini\python-core.bat:

SET PYTHONHOME=%OSGEO4W_ROOT%\apps\Python36
PATH %OSGEO4W_ROOT%\apps\Python36\Scripts;%PATH%

আপনি কিউজিআইএস 3 এর সাথে আসা ওএসজিও 4 ডাব্লু শেল দিয়ে উইন্ডোজে এটি করতে চাইলে আপনাকে সেট করে এবং ব্যাচ স্ক্রিপ্টের পরিবর্তে রেফারেন্সে যেতে হবে {path you installed qgis}\etc\iniএবং পরিবর্তন python-core.batকরতে Python36হবে । তারপরে সি এল এল থেকে কল করুন। তবে নোট করুন এটি অজগর ২.7 এর লিঙ্কগুলি ভেঙে দেবে এবং আপনি কেবল কল করার চেষ্টা করলে একটি সিনট্যাক্স ত্রুটি দেয় । Python27PYTHONHOMEPATHpython3python
অ্যাসল্যান্ডার

@ অ্যাসল্যান্ডার অজগর ২.7 ভাঙা এটি করার উপায় নয়। আমার উত্তর দেখুন, কেবল চালান py3_envযা পাইথন 3 এর জন্য স্বয়ংক্রিয়ভাবে শেল সেট করে।
ব্যবহারকারী2856

@ লুক চালাক! আমি সংশোধন করেছি.
অ্যাসল্যান্ডার

@ লুক আমি আমার উত্তর আপডেট করেছি। আমি শেলের কমান্ডটি উপেক্ষা করেছি এবং গুগল আমাকে কোনও উত্তর দেয় নি। এখনও, OSGeo4W শেল যে QGIS 2 দিয়ে আসে নেইpy3_env
bennos

কিউগিস 3 (যা পাইথন 3 প্রয়োজন) প্রকাশের আগে কেবল পাইথন 2 এর পাইথন 2 যেমন পাইথন 2 এর একটি একক সংস্করণ প্রয়োজন ছিল ওএসজিও 4 ডাব্লু সত্যই কিউগিস 2 ছাড়তে পারে নি তাই তাদের উভয় কিগিস 2 + কে সমর্থন করার কিছু উপায় খুঁজে বের করতে হয়েছিল অজগর 2 এবং কিগিস 3 + অজগর 3
ব্যবহারকারী 2856

2

আপনি যদি এই পরিবর্তনটি স্থায়ী করতে চান তবে আপনি আপনার কিউজিআইএস (বা ওএসজিইও) ডিরেক্টরিতে অবস্থিত ব্যাচ ফাইল OSGeo4W.bat সংশোধন করতে পারেন এবং কেবল যুক্ত করতে পারেন:

call "py3_env"

লাইনের কলিংয়ের নীচে

call "%~dp0\bin\o4w_env.bat"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.