Cara Mengatasi "ModuleNotFoundError" di Alteryx Python SDK [2023]

 


Alteryx adalah platform analisis data canggih yang sangat populer di kalangan profesional data. Dengan dukungan Python SDK yang kuat, Alteryx memungkinkan pengguna untuk mengintegrasikan skrip Python ke dalam alur kerja mereka dan menghasilkan alat kustom yang kuat di Alteryx Designer.
Namun, ada situasi ketika pengguna mungkin menghadapi masalah 'ModuleNotFoundError' saat mencoba mengakses modul Python tertentu dari dalam SDK. Masalah ini dapat menimbulkan kebingungan dan dapat menjadi hambatan dalam mengembangkan alat kustom yang diinginkan.

Mengidentifikasi Masalah 'ModuleNotFoundError'

Saat menggunakan Alteryx Python SDK, Anda mungkin mendapati pesan kesalahan seperti berikut: "ModuleNotFoundError: No module named 'nama_modul'". Pesan kesalahan ini muncul ketika SDK tidak dapat menemukan modul Python yang diimpor dalam skrip Anda.

Penyebab umum dari masalah ini adalah kurangnya paket Python yang relevan di lingkungan Alteryx. Ini mungkin terjadi karena beberapa alasan, seperti versi Python yang tidak cocok atau paket pihak ketiga yang belum diinstal di Alteryx Designer.

TUTORIAL:

Kalian akan menghadapi ModuleNotFoundError saat mencoba mengimpor modul Alteryx Python SDK. seperti kode berikut:


 from ayx import Alteryx  
 import AlteryxPythonSDK as Sdk  
 def process_tool(input_anchor, output_anchor):  
   # Read the incoming data from the input anchor  
   incoming_record_info = input_anchor.get_record_info(input_anchor)  
   # Create the outgoing data with the same structure as the incoming data  
   outgoing_record_info = Sdk.RecordInfo(input_anchor)  
   outgoing_record_info.init_from_input_record_info(incoming_record_info)  
   # Set the predefined column names for row number 3  
   predefined_columns = ['Column A', 'Column B', 'Column C', 'Column D', 'Column E']  
   # Create a new row for the column names  
   outgoing_row = outgoing_record_info.construct_record()  
   # Write the predefined column names to the outgoing row  
   for idx, column_name in enumerate(predefined_columns):  
     outgoing_row[idx] = column_name  
   # Push the outgoing row to the output anchor  
   output_anchor.push_record(outgoing_row)  
   # Forward the incoming data to the output anchor  
   for record in input_anchor:  
     output_anchor.push_record(record)  
 # Instantiate the Alteryx tool object  
 tool = Sdk.AlteryxTool(1, 1)  
 # Get the input and output anchors  
 input_anchor = tool.get_input_anchor(0)  
 output_anchor = tool.get_output_anchor(0)  
 # Process the tool using the custom function defined above  
 process_tool(input_anchor, output_anchor)  


Saat menjalankan skript, kamu mendapatkan kesalahan berikut:


 ModuleNotFoundError: No module named 'AlteryxPythonSDK'  


Sesuai jawaban yang diberikan di forum Alteryx, berikut ini adalah solusi yang berfungsi:

  • Menambahkan folder plugin ke sys.path kode.
  • Menambahkan folder bin Alteryx ke variabel lingkungan PATH.

 import sys, os  
 sys.path.append(r"C:\Program Files\Alteryx\bin\Plugins")  
 os.environ['PATH'] += r";C:\Program Files\Alteryx\bin"  
 import AlteryxPythonSDK as sdk  

Post a Comment

Post a Comment (0)

Previous Post Next Post