[{"data":1,"prerenderedAt":5006},["ShallowReactive",2],{"tutorials-python-how-to":3,"category-items-python-how-to":600,"content-/python-how-to/create-virtual-environments":601},[4,22,31,40,49,58,67,76,86,94,103,112,121,130,139,148,158,167,176,185,194,203,212,222,231,240,249,258,267,276,285,297,306,315,324,333,342,351,362,371,380,389,398,407,418,427,436,445,454,463,472,483,492,501,510,519,528,539,548,557,566,575,584,593],{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":10,"slug":11,"order":12,"isParent":13,"icon":14,"_type":15,"_id":16,"_source":17,"_file":18,"_stem":19,"_extension":20,"children":21,"expanded":13},"/python-how-to/string-manipulation","python-how-to",false,"","String Manipulation","Learn essential string manipulation techniques in Python","string-manipulation",1,true,"pi pi-folder","markdown","content:python-how-to:1.string-manipulation.md","content","python-how-to/1.string-manipulation.md","python-how-to/1.string-manipulation","md",[22,31,40,49,58,67],{"_path":23,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":24,"description":25,"slug":26,"parentId":5,"order":27,"_type":15,"_id":28,"_source":17,"_file":29,"_stem":30,"_extension":20},"/python-how-to/split-join-strings","Split and Join Strings","Learn how to split strings into lists and join lists back into strings in Python","split-join-strings",2,"content:python-how-to:2.split-join-strings.md","python-how-to/2.split-join-strings.md","python-how-to/2.split-join-strings",{"_path":32,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":33,"description":34,"slug":35,"parentId":5,"order":36,"_type":15,"_id":37,"_source":17,"_file":38,"_stem":39,"_extension":20},"/python-how-to/remove-whitespace","Remove Whitespace","Learn how to clean up and remove unwanted whitespace from strings in Python","remove-whitespace",3,"content:python-how-to:3.remove-whitespace.md","python-how-to/3.remove-whitespace.md","python-how-to/3.remove-whitespace",{"_path":41,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":42,"description":43,"slug":44,"parentId":5,"order":45,"_type":15,"_id":46,"_source":17,"_file":47,"_stem":48,"_extension":20},"/python-how-to/find-replace-text","Find and Replace Text","Learn how to search for and replace text within strings in Python","find-replace-text",4,"content:python-how-to:4.find-replace-text.md","python-how-to/4.find-replace-text.md","python-how-to/4.find-replace-text",{"_path":50,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":51,"description":52,"slug":53,"parentId":5,"order":54,"_type":15,"_id":55,"_source":17,"_file":56,"_stem":57,"_extension":20},"/python-how-to/check-string-content","Check String Content","Learn how to validate and check the content of strings in Python","check-string-content",5,"content:python-how-to:5.check-string-content.md","python-how-to/5.check-string-content.md","python-how-to/5.check-string-content",{"_path":59,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":60,"description":61,"slug":62,"parentId":5,"order":63,"_type":15,"_id":64,"_source":17,"_file":65,"_stem":66,"_extension":20},"/python-how-to/format-strings","Format Strings","Learn how to format strings in Python using f-strings and format() method","format-strings",6,"content:python-how-to:6.format-strings.md","python-how-to/6.format-strings.md","python-how-to/6.format-strings",{"_path":68,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":69,"description":70,"slug":71,"parentId":5,"order":72,"_type":15,"_id":73,"_source":17,"_file":74,"_stem":75,"_extension":20},"/python-how-to/unicode-special-chars","Handle Unicode and Special Characters","Learn how to work with Unicode and special characters in Python strings","unicode-special-chars",7,"content:python-how-to:7.unicode-special-chars.md","python-how-to/7.unicode-special-chars.md","python-how-to/7.unicode-special-chars",{"_path":77,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":78,"description":79,"slug":80,"order":81,"isParent":13,"icon":14,"_type":15,"_id":82,"_source":17,"_file":83,"_stem":84,"_extension":20,"children":85,"expanded":13},"/python-how-to/list-operations","List Operations","Learn essential operations for working with lists in Python","list-operations",8,"content:python-how-to:8.list-operations.md","python-how-to/8.list-operations.md","python-how-to/8.list-operations",[86,94,103,112,121,130,139],{"_path":87,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":88,"description":89,"slug":90,"parentId":77,"order":81,"_type":15,"_id":91,"_source":17,"_file":92,"_stem":93,"_extension":20},"/python-how-to/sort-lists","Sort Lists","Learn how to sort lists in Python using different methods and custom sorting","sort-lists","content:python-how-to:9.sort-lists.md","python-how-to/9.sort-lists.md","python-how-to/9.sort-lists",{"_path":95,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":96,"description":97,"slug":98,"parentId":77,"order":99,"_type":15,"_id":100,"_source":17,"_file":101,"_stem":102,"_extension":20},"/python-how-to/remove-duplicates","Remove Duplicates","Learn how to remove duplicate elements from lists in Python","remove-duplicates",10,"content:python-how-to:10.remove-duplicates.md","python-how-to/10.remove-duplicates.md","python-how-to/10.remove-duplicates",{"_path":104,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":105,"description":106,"slug":107,"parentId":77,"order":108,"_type":15,"_id":109,"_source":17,"_file":110,"_stem":111,"_extension":20},"/python-how-to/filter-lists","Filter Lists","Learn how to filter lists in Python using different methods","filter-lists",11,"content:python-how-to:11.filter-lists.md","python-how-to/11.filter-lists.md","python-how-to/11.filter-lists",{"_path":113,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":114,"description":115,"slug":116,"parentId":77,"order":117,"_type":15,"_id":118,"_source":17,"_file":119,"_stem":120,"_extension":20},"/python-how-to/combine-lists","Combine Lists","Learn different methods to combine lists in Python","combine-lists",12,"content:python-how-to:12.combine-lists.md","python-how-to/12.combine-lists.md","python-how-to/12.combine-lists",{"_path":122,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":123,"description":124,"slug":125,"parentId":77,"order":126,"_type":15,"_id":127,"_source":17,"_file":128,"_stem":129,"_extension":20},"/python-how-to/list-comprehensions","Use List Comprehensions","Learn how to create and transform lists efficiently using Python's list comprehension syntax","list-comprehensions",13,"content:python-how-to:13.list-comprehensions.md","python-how-to/13.list-comprehensions.md","python-how-to/13.list-comprehensions",{"_path":131,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":132,"description":133,"slug":134,"parentId":77,"order":135,"_type":15,"_id":136,"_source":17,"_file":137,"_stem":138,"_extension":20},"/python-how-to/nested-lists","Work with Nested Lists","Learn how to work with nested lists (2D arrays) in Python","nested-lists",14,"content:python-how-to:14.nested-lists.md","python-how-to/14.nested-lists.md","python-how-to/14.nested-lists",{"_path":140,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":141,"description":142,"slug":143,"parentId":77,"order":144,"_type":15,"_id":145,"_source":17,"_file":146,"_stem":147,"_extension":20},"/python-how-to/enumerate-zip","Use enumerate() and zip()","Learn how to use enumerate() and zip() for efficient iteration in Python","enumerate-zip",15,"content:python-how-to:15.enumerate-zip.md","python-how-to/15.enumerate-zip.md","python-how-to/15.enumerate-zip",{"_path":149,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":150,"description":151,"slug":152,"order":153,"isParent":13,"icon":14,"_type":15,"_id":154,"_source":17,"_file":155,"_stem":156,"_extension":20,"children":157,"expanded":13},"/python-how-to/dictionary-operations","Dictionary Operations","Learn essential operations for working with dictionaries in Python","dictionary-operations",16,"content:python-how-to:16.dictionary-operations.md","python-how-to/16.dictionary-operations.md","python-how-to/16.dictionary-operations",[158,167,176,185,194,203],{"_path":159,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":160,"description":161,"slug":162,"parentId":149,"order":163,"_type":15,"_id":164,"_source":17,"_file":165,"_stem":166,"_extension":20},"/python-how-to/merge-dictionaries","Merge Dictionaries","Learn different methods to merge dictionaries in Python","merge-dictionaries",17,"content:python-how-to:17.merge-dictionaries.md","python-how-to/17.merge-dictionaries.md","python-how-to/17.merge-dictionaries",{"_path":168,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":169,"description":170,"slug":171,"parentId":149,"order":172,"_type":15,"_id":173,"_source":17,"_file":174,"_stem":175,"_extension":20},"/python-how-to/sort-dictionaries","Sort Dictionaries","Learn how to sort dictionaries by keys or values in Python","sort-dictionaries",18,"content:python-how-to:18.sort-dictionaries.md","python-how-to/18.sort-dictionaries.md","python-how-to/18.sort-dictionaries",{"_path":177,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":178,"description":179,"slug":180,"parentId":149,"order":181,"_type":15,"_id":182,"_source":17,"_file":183,"_stem":184,"_extension":20},"/python-how-to/filter-dictionaries","Filter Dictionaries","Learn how to filter dictionaries based on keys or values in Python","filter-dictionaries",19,"content:python-how-to:19.filter-dictionaries.md","python-how-to/19.filter-dictionaries.md","python-how-to/19.filter-dictionaries",{"_path":186,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":187,"description":188,"slug":189,"parentId":149,"order":190,"_type":15,"_id":191,"_source":17,"_file":192,"_stem":193,"_extension":20},"/python-how-to/handle-missing-keys","Handle Missing Keys","Learn safe ways to access dictionary keys and handle missing values","handle-missing-keys",20,"content:python-how-to:20.handle-missing-keys.md","python-how-to/20.handle-missing-keys.md","python-how-to/20.handle-missing-keys",{"_path":195,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":196,"description":197,"slug":198,"parentId":149,"order":199,"_type":15,"_id":200,"_source":17,"_file":201,"_stem":202,"_extension":20},"/python-how-to/dictionary-comprehensions","Use Dictionary Comprehensions","Learn how to create dictionaries efficiently using comprehensions","dictionary-comprehensions",21,"content:python-how-to:21.dictionary-comprehensions.md","python-how-to/21.dictionary-comprehensions.md","python-how-to/21.dictionary-comprehensions",{"_path":204,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":205,"description":206,"slug":207,"parentId":149,"order":208,"_type":15,"_id":209,"_source":17,"_file":210,"_stem":211,"_extension":20},"/python-how-to/convert-lists-dictionaries","Convert Between Lists and Dictionaries","Learn how to transform data between lists and dictionaries in Python","convert-lists-dictionaries",22,"content:python-how-to:22.convert-lists-dictionaries.md","python-how-to/22.convert-lists-dictionaries.md","python-how-to/22.convert-lists-dictionaries",{"_path":213,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":214,"description":215,"slug":216,"order":217,"isParent":13,"icon":14,"_type":15,"_id":218,"_source":17,"_file":219,"_stem":220,"_extension":20,"children":221,"expanded":13},"/python-how-to/file-operations","File Operations","Learn essential file operations in Python for reading, writing, and managing files","file-operations",23,"content:python-how-to:23.file-operations.md","python-how-to/23.file-operations.md","python-how-to/23.file-operations",[222,231,240,249,258,267,276],{"_path":223,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":224,"description":225,"slug":226,"parentId":213,"order":227,"_type":15,"_id":228,"_source":17,"_file":229,"_stem":230,"_extension":20},"/python-how-to/read-text-files","Read Text Files","Learn how to read text files in Python using different methods","read-text-files",24,"content:python-how-to:24.read-text-files.md","python-how-to/24.read-text-files.md","python-how-to/24.read-text-files",{"_path":232,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":233,"description":234,"slug":235,"parentId":213,"order":236,"_type":15,"_id":237,"_source":17,"_file":238,"_stem":239,"_extension":20},"/python-how-to/write-to-files","Write to Files","Learn how to write and create files in Python using different methods","write-to-files",25,"content:python-how-to:25.write-to-files.md","python-how-to/25.write-to-files.md","python-how-to/25.write-to-files",{"_path":241,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":242,"description":243,"slug":244,"parentId":213,"order":245,"_type":15,"_id":246,"_source":17,"_file":247,"_stem":248,"_extension":20},"/python-how-to/work-csv-files","Work with CSV Files","Learn how to read and write CSV files in Python using the csv module","work-csv-files",26,"content:python-how-to:26.work-csv-files.md","python-how-to/26.work-csv-files.md","python-how-to/26.work-csv-files",{"_path":250,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":251,"description":252,"slug":253,"parentId":213,"order":254,"_type":15,"_id":255,"_source":17,"_file":256,"_stem":257,"_extension":20},"/python-how-to/handle-file-paths","Handle File Paths","Learn how to work with file and directory paths in Python using pathlib and os modules","handle-file-paths",27,"content:python-how-to:27.handle-file-paths.md","python-how-to/27.handle-file-paths.md","python-how-to/27.handle-file-paths",{"_path":259,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":260,"description":261,"slug":262,"parentId":213,"order":263,"_type":15,"_id":264,"_source":17,"_file":265,"_stem":266,"_extension":20},"/python-how-to/work-json-files","Work with JSON Files","Learn how to read and write JSON files in Python using the json module","work-json-files",28,"content:python-how-to:28.work-json-files.md","python-how-to/28.work-json-files.md","python-how-to/28.work-json-files",{"_path":268,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":269,"description":270,"slug":271,"parentId":213,"order":272,"_type":15,"_id":273,"_source":17,"_file":274,"_stem":275,"_extension":20},"/python-how-to/handle-binary-files","Handle Binary Files","Learn how to work with binary files in Python for images, data, and other non-text content","handle-binary-files",29,"content:python-how-to:29.handle-binary-files.md","python-how-to/29.handle-binary-files.md","python-how-to/29.handle-binary-files",{"_path":277,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":278,"description":279,"slug":280,"parentId":213,"order":281,"_type":15,"_id":282,"_source":17,"_file":283,"_stem":284,"_extension":20},"/python-how-to/use-context-managers","Use Context Managers","Learn how to use context managers for safe resource handling in Python","use-context-managers",30,"content:python-how-to:30.use-context-managers.md","python-how-to/30.use-context-managers.md","python-how-to/30.use-context-managers",{"_path":286,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":287,"description":288,"slug":289,"parentId":290,"order":291,"isParent":13,"icon":292,"_type":15,"_id":293,"_source":17,"_file":294,"_stem":295,"_extension":20,"children":296,"expanded":13},"/python-how-to/date-and-time","Date and Time","Master Python's date and time handling with datetime, time zones, formatting, and calculations","date-and-time","/python-how-to",31,"pi pi-calendar","content:python-how-to:31.date-and-time.md","python-how-to/31.date-and-time.md","python-how-to/31.date-and-time",[297,306,315,324,333,342],{"_path":298,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":299,"description":300,"slug":301,"parentId":286,"order":302,"_type":15,"_id":303,"_source":17,"_file":304,"_stem":305,"_extension":20},"/python-how-to/get-current-datetime","Get Current Date/Time","Learn how to get current date, time, and timestamps using Python's datetime module","get-current-datetime",32,"content:python-how-to:32.get-current-datetime.md","python-how-to/32.get-current-datetime.md","python-how-to/32.get-current-datetime",{"_path":307,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":308,"description":309,"slug":310,"parentId":286,"order":311,"_type":15,"_id":312,"_source":17,"_file":313,"_stem":314,"_extension":20},"/python-how-to/format-dates","Format Dates","Master date formatting with strftime, custom formats, and locale-aware formatting for user-friendly displays","format-dates",33,"content:python-how-to:33.format-dates.md","python-how-to/33.format-dates.md","python-how-to/33.format-dates",{"_path":316,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":317,"description":318,"slug":319,"parentId":286,"order":320,"_type":15,"_id":321,"_source":17,"_file":322,"_stem":323,"_extension":20},"/python-how-to/calculate-date-differences","Calculate Date Differences","Learn to calculate time differences, durations, and intervals using Python's timedelta for scheduling and analytics","calculate-date-differences",34,"content:python-how-to:34.calculate-date-differences.md","python-how-to/34.calculate-date-differences.md","python-how-to/34.calculate-date-differences",{"_path":325,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":326,"description":327,"slug":328,"parentId":286,"order":329,"_type":15,"_id":330,"_source":17,"_file":331,"_stem":332,"_extension":20},"/python-how-to/parse-date-strings","Parse Date Strings","Convert text dates into Python datetime objects using strptime, handle multiple formats, and validate date input","parse-date-strings",35,"content:python-how-to:35.parse-date-strings.md","python-how-to/35.parse-date-strings.md","python-how-to/35.parse-date-strings",{"_path":334,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":335,"description":336,"slug":337,"parentId":286,"order":338,"_type":15,"_id":339,"_source":17,"_file":340,"_stem":341,"_extension":20},"/python-how-to/handle-timezones","Handle Timezones","Master timezone handling with zoneinfo, UTC conversions, and timezone-aware datetime objects for global applications","handle-timezones",36,"content:python-how-to:36.handle-timezones.md","python-how-to/36.handle-timezones.md","python-how-to/36.handle-timezones",{"_path":343,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":344,"description":345,"slug":346,"parentId":286,"order":347,"_type":15,"_id":348,"_source":17,"_file":349,"_stem":350,"_extension":20},"/python-how-to/work-with-timestamps","Work with Timestamps","Master Unix timestamps in Python - convert between datetime objects and timestamps for APIs, databases, and system integration","work-with-timestamps",37,"content:python-how-to:37.work-with-timestamps.md","python-how-to/37.work-with-timestamps.md","python-how-to/37.work-with-timestamps",{"_path":352,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":353,"description":354,"slug":355,"parentId":290,"order":356,"isParent":13,"icon":357,"_type":15,"_id":358,"_source":17,"_file":359,"_stem":360,"_extension":20,"children":361,"expanded":13},"/python-how-to/error-handling","Error Handling","Learn Python's error handling with try/except, custom exceptions, debugging, logging, and retry logic for robust applications","error-handling",38,"pi pi-exclamation-triangle","content:python-how-to:38.error-handling.md","python-how-to/38.error-handling.md","python-how-to/38.error-handling",[362,371,380,389,398],{"_path":363,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":364,"description":365,"slug":366,"parentId":352,"order":367,"_type":15,"_id":368,"_source":17,"_file":369,"_stem":370,"_extension":20},"/python-how-to/handle-exceptions","Handle Exceptions","Master try/except blocks, multiple exception handling, and finally clauses for robust error handling in Python","handle-exceptions",39,"content:python-how-to:39.handle-exceptions.md","python-how-to/39.handle-exceptions.md","python-how-to/39.handle-exceptions",{"_path":372,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":373,"description":374,"slug":375,"parentId":352,"order":376,"_type":15,"_id":377,"_source":17,"_file":378,"_stem":379,"_extension":20},"/python-how-to/create-custom-exceptions","Create Custom Exceptions","Learn to create custom exception classes in Python for specific error handling and better code organization","create-custom-exceptions",40,"content:python-how-to:40.create-custom-exceptions.md","python-how-to/40.create-custom-exceptions.md","python-how-to/40.create-custom-exceptions",{"_path":381,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":382,"description":383,"slug":384,"parentId":352,"order":385,"_type":15,"_id":386,"_source":17,"_file":387,"_stem":388,"_extension":20},"/python-how-to/debug-code","Debug Code","Learn Python debugging techniques using print statements, the debugger, and tools to find and fix code issues","debug-code",41,"content:python-how-to:41.debug-code.md","python-how-to/41.debug-code.md","python-how-to/41.debug-code",{"_path":390,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":391,"description":392,"slug":393,"parentId":352,"order":394,"_type":15,"_id":395,"_source":17,"_file":396,"_stem":397,"_extension":20},"/python-how-to/use-logging","Use Logging","Learn Python's logging module for tracking application behavior, errors, and debugging information","use-logging",42,"content:python-how-to:42.use-logging.md","python-how-to/42.use-logging.md","python-how-to/42.use-logging",{"_path":399,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":400,"description":401,"slug":402,"parentId":352,"order":403,"_type":15,"_id":404,"_source":17,"_file":405,"_stem":406,"_extension":20},"/python-how-to/implement-retry-logic","Implement Retry Logic","Learn to implement retry mechanisms in Python for handling temporary failures and building resilient applications","implement-retry-logic",43,"content:python-how-to:43.implement-retry-logic.md","python-how-to/43.implement-retry-logic.md","python-how-to/43.implement-retry-logic",{"_path":408,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":409,"description":410,"slug":411,"parentId":290,"order":412,"isParent":13,"icon":413,"_type":15,"_id":414,"_source":17,"_file":415,"_stem":416,"_extension":20,"children":417,"expanded":13},"/python-how-to/functions-and-modules","Functions and Modules","Learn Python functions, modules, and code organization for building reusable, maintainable applications","functions-and-modules",44,"pi pi-box","content:python-how-to:44.functions-and-modules.md","python-how-to/44.functions-and-modules.md","python-how-to/44.functions-and-modules",[418,427,436,445,454,463],{"_path":419,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":420,"description":421,"slug":422,"parentId":408,"order":423,"_type":15,"_id":424,"_source":17,"_file":425,"_stem":426,"_extension":20},"/python-how-to/write-functions","Write Functions","Learn to create Python functions with parameters, return values, and documentation for reusable code","write-functions",45,"content:python-how-to:45.write-functions.md","python-how-to/45.write-functions.md","python-how-to/45.write-functions",{"_path":428,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":429,"description":430,"slug":431,"parentId":408,"order":432,"_type":15,"_id":433,"_source":17,"_file":434,"_stem":435,"_extension":20},"/python-how-to/use-args-kwargs","Use *args and **kwargs","Learn to use *args and **kwargs for flexible function arguments in Python","use-args-kwargs",46,"content:python-how-to:46.use-args-kwargs.md","python-how-to/46.use-args-kwargs.md","python-how-to/46.use-args-kwargs",{"_path":437,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":438,"description":439,"slug":440,"parentId":408,"order":441,"_type":15,"_id":442,"_source":17,"_file":443,"_stem":444,"_extension":20},"/python-how-to/create-decorators","Create Decorators","Learn to create and use Python decorators to enhance function behavior and add functionality","create-decorators",47,"content:python-how-to:47.create-decorators.md","python-how-to/47.create-decorators.md","python-how-to/47.create-decorators",{"_path":446,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":447,"description":448,"slug":449,"parentId":408,"order":450,"_type":15,"_id":451,"_source":17,"_file":452,"_stem":453,"_extension":20},"/python-how-to/use-generators","Use Generators","Learn to create memory-efficient generators with yield for processing large datasets and sequences","use-generators",48,"content:python-how-to:48.use-generators.md","python-how-to/48.use-generators.md","python-how-to/48.use-generators",{"_path":455,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":456,"description":457,"slug":458,"parentId":408,"order":459,"_type":15,"_id":460,"_source":17,"_file":461,"_stem":462,"_extension":20},"/python-how-to/work-modules-packages","Work with Modules and Packages","Learn to organize Python code with modules and packages, and use imports effectively","work-modules-packages",49,"content:python-how-to:49.work-modules-packages.md","python-how-to/49.work-modules-packages.md","python-how-to/49.work-modules-packages",{"_path":464,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":465,"description":466,"slug":467,"parentId":408,"order":468,"_type":15,"_id":469,"_source":17,"_file":470,"_stem":471,"_extension":20},"/python-how-to/create-virtual-environments","Create Virtual Environments","Learn to create and manage Python virtual environments for project dependency isolation","create-virtual-environments",50,"content:python-how-to:50.create-virtual-environments.md","python-how-to/50.create-virtual-environments.md","python-how-to/50.create-virtual-environments",{"_path":473,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":474,"description":475,"slug":476,"parentId":290,"order":477,"isParent":13,"icon":478,"_type":15,"_id":479,"_source":17,"_file":480,"_stem":481,"_extension":20,"children":482},"/python-how-to/data-processing","Data Processing","Learn Python data processing techniques including regex, APIs, databases, and large file handling","data-processing",51,"pi pi-database","content:python-how-to:51.data-processing.md","python-how-to/51.data-processing.md","python-how-to/51.data-processing",[483,492,501,510,519],{"_path":484,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":485,"description":486,"slug":487,"parentId":473,"order":488,"_type":15,"_id":489,"_source":17,"_file":490,"_stem":491,"_extension":20},"/python-how-to/work-regular-expressions","Work with Regular Expressions","Learn to use Python's re module for pattern matching, text extraction, and data validation","work-regular-expressions",52,"content:python-how-to:52.work-regular-expressions.md","python-how-to/52.work-regular-expressions.md","python-how-to/52.work-regular-expressions",{"_path":493,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":494,"description":495,"slug":496,"parentId":473,"order":497,"_type":15,"_id":498,"_source":17,"_file":499,"_stem":500,"_extension":20},"/python-how-to/parse-xml-html","Parse XML and HTML","Learn to extract data from XML and HTML documents using Python's built-in parsing tools","parse-xml-html",53,"content:python-how-to:53.parse-xml-html.md","python-how-to/53.parse-xml-html.md","python-how-to/53.parse-xml-html",{"_path":502,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":503,"description":504,"slug":505,"parentId":473,"order":506,"_type":15,"_id":507,"_source":17,"_file":508,"_stem":509,"_extension":20},"/python-how-to/handle-api-requests","Handle API Requests","Learn to fetch and process data from web APIs using Python's urllib and external requests library","handle-api-requests",54,"content:python-how-to:54.handle-api-requests.md","python-how-to/54.handle-api-requests.md","python-how-to/54.handle-api-requests",{"_path":511,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":512,"description":513,"slug":514,"parentId":473,"order":515,"_type":15,"_id":516,"_source":17,"_file":517,"_stem":518,"_extension":20},"/python-how-to/work-databases","Work with Databases","Learn to connect to and query SQL databases using Python's sqlite3 and database techniques","work-databases",55,"content:python-how-to:55.work-databases.md","python-how-to/55.work-databases.md","python-how-to/55.work-databases",{"_path":520,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":521,"description":522,"slug":523,"parentId":473,"order":524,"_type":15,"_id":525,"_source":17,"_file":526,"_stem":527,"_extension":20},"/python-how-to/process-large-files","Process Large Files","Learn memory-efficient techniques for handling large files and datasets in Python","process-large-files",56,"content:python-how-to:56.process-large-files.md","python-how-to/56.process-large-files.md","python-how-to/56.process-large-files",{"_path":529,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":530,"description":531,"slug":532,"parentId":290,"order":533,"isParent":13,"icon":534,"_type":15,"_id":535,"_source":17,"_file":536,"_stem":537,"_extension":20,"children":538},"/python-how-to/best-practices","Best Practices","Learn Python best practices for writing clean, maintainable, and efficient code","best-practices",57,"pi pi-star","content:python-how-to:57.best-practices.md","python-how-to/57.best-practices.md","python-how-to/57.best-practices",[539,548,557,566,575,584],{"_path":540,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":541,"description":542,"slug":543,"parentId":529,"order":544,"_type":15,"_id":545,"_source":17,"_file":546,"_stem":547,"_extension":20},"/python-how-to/structure-code","Structure Your Code","Learn to organize Python code with proper module structure, functions, and classes","structure-code",58,"content:python-how-to:58.structure-code.md","python-how-to/58.structure-code.md","python-how-to/58.structure-code",{"_path":549,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":550,"description":551,"slug":552,"parentId":529,"order":553,"_type":15,"_id":554,"_source":17,"_file":555,"_stem":556,"_extension":20},"/python-how-to/write-clean-code","Write Clean Code","Learn to write readable, maintainable Python code with proper naming, comments, and clear logic","write-clean-code",59,"content:python-how-to:59.write-clean-code.md","python-how-to/59.write-clean-code.md","python-how-to/59.write-clean-code",{"_path":558,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":559,"description":560,"slug":561,"parentId":529,"order":562,"_type":15,"_id":563,"_source":17,"_file":564,"_stem":565,"_extension":20},"/python-how-to/optimize-performance","Optimize Performance","Learn to identify and fix performance bottlenecks in Python code for faster execution","optimize-performance",60,"content:python-how-to:60.optimize-performance.md","python-how-to/60.optimize-performance.md","python-how-to/60.optimize-performance",{"_path":567,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":568,"description":569,"slug":570,"parentId":529,"order":571,"_type":15,"_id":572,"_source":17,"_file":573,"_stem":574,"_extension":20},"/python-how-to/write-unit-tests","Write Unit Tests","Learn to create reliable unit tests to verify your Python code works correctly and catch bugs early","write-unit-tests",61,"content:python-how-to:61.write-unit-tests.md","python-how-to/61.write-unit-tests.md","python-how-to/61.write-unit-tests",{"_path":576,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":577,"description":578,"slug":579,"parentId":529,"order":580,"_type":15,"_id":581,"_source":17,"_file":582,"_stem":583,"_extension":20},"/python-how-to/document-code","Document Your Code","Learn to write clear documentation and helpful comments for your Python code","document-code",62,"content:python-how-to:62.document-code.md","python-how-to/62.document-code.md","python-how-to/62.document-code",{"_path":585,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":586,"description":587,"slug":588,"parentId":529,"order":589,"_type":15,"_id":590,"_source":17,"_file":591,"_stem":592,"_extension":20},"/python-how-to/use-type-hints","Use Type Hints","Learn to add type annotations to Python code for better clarity, tooling support, and error detection","use-type-hints",63,"content:python-how-to:63.use-type-hints.md","python-how-to/63.use-type-hints.md","python-how-to/63.use-type-hints",{"_path":290,"_dir":8,"_draft":7,"_partial":7,"_locale":8,"title":594,"description":595,"slug":6,"order":596,"icon":14,"_type":15,"_id":597,"_source":17,"_file":598,"_stem":599,"_extension":20,"expanded":13},"Python How-To Guide","Practical Python tutorials for common programming tasks. Learn step-by-step solutions for string manipulation, file operations, data processing, and more with real-world examples.",0,"content:python-how-to:index.md","python-how-to/index.md","python-how-to/index",[463],{"_path":464,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":465,"description":466,"slug":467,"parentId":408,"order":468,"body":602,"_type":15,"_id":469,"_source":17,"_file":470,"_stem":471,"_extension":20},{"type":603,"children":604,"toc":4987},"root",[605,614,620,1007,1014,1019,1135,1141,1299,1305,1312,1794,1800,2096,2102,2619,2625,2631,2990,2996,3572,3578,4117,4123,4277,4283,4747,4753,4913,4919,4924,4932,4965,4981],{"type":606,"tag":607,"props":608,"children":610},"element","h1",{"id":609},"creating-virtual-environments",[611],{"type":612,"value":613},"text","🌍 Creating Virtual Environments",{"type":606,"tag":615,"props":616,"children":617},"p",{},[618],{"type":612,"value":619},"Virtual environments are isolated Python installations that keep your project dependencies separate. They prevent conflicts between different projects and ensure your code runs consistently across different systems.",{"type":606,"tag":621,"props":622,"children":623},"code-try",{},[624],{"type":606,"tag":625,"props":626,"children":630},"pre",{"className":627,"code":628,"language":629,"meta":8,"style":8},"language-python shiki shiki-themes github-light github-dark","# Example of why virtual environments matter\n\"\"\"\nProject A needs:\n- requests==2.25.1\n- pandas==1.3.0\n\nProject B needs:\n- requests==2.28.0\n- pandas==1.5.0\n\nWithout virtual environments: CONFLICT!\nWith virtual environments: Each project has its own dependencies ✅\n\"\"\"\n\n# Check current Python environment\nimport sys\nimport os\n\nprint(f\"Python executable: {sys.executable}\")\nprint(f\"Python version: {sys.version}\")\nprint(f\"Current working directory: {os.getcwd()}\")\n\n# Show some environment info\nif hasattr(sys, 'prefix'):\n    print(f\"Python prefix: {sys.prefix}\")\n","python",[631],{"type":606,"tag":632,"props":633,"children":634},"code",{"__ignoreMap":8},[635,646,655,663,671,679,687,695,703,712,719,727,735,742,749,757,772,784,791,840,881,922,929,937,965],{"type":606,"tag":636,"props":637,"children":639},"span",{"class":638,"line":12},"line",[640],{"type":606,"tag":636,"props":641,"children":643},{"style":642},"--shiki-default:#6A737D;--shiki-app-dark-mode:#6A737D",[644],{"type":612,"value":645},"# Example of why virtual environments matter\n",{"type":606,"tag":636,"props":647,"children":648},{"class":638,"line":27},[649],{"type":606,"tag":636,"props":650,"children":652},{"style":651},"--shiki-default:#032F62;--shiki-app-dark-mode:#9ECBFF",[653],{"type":612,"value":654},"\"\"\"\n",{"type":606,"tag":636,"props":656,"children":657},{"class":638,"line":36},[658],{"type":606,"tag":636,"props":659,"children":660},{"style":651},[661],{"type":612,"value":662},"Project A needs:\n",{"type":606,"tag":636,"props":664,"children":665},{"class":638,"line":45},[666],{"type":606,"tag":636,"props":667,"children":668},{"style":651},[669],{"type":612,"value":670},"- requests==2.25.1\n",{"type":606,"tag":636,"props":672,"children":673},{"class":638,"line":54},[674],{"type":606,"tag":636,"props":675,"children":676},{"style":651},[677],{"type":612,"value":678},"- pandas==1.3.0\n",{"type":606,"tag":636,"props":680,"children":681},{"class":638,"line":63},[682],{"type":606,"tag":636,"props":683,"children":684},{"emptyLinePlaceholder":13},[685],{"type":612,"value":686},"\n",{"type":606,"tag":636,"props":688,"children":689},{"class":638,"line":72},[690],{"type":606,"tag":636,"props":691,"children":692},{"style":651},[693],{"type":612,"value":694},"Project B needs:\n",{"type":606,"tag":636,"props":696,"children":697},{"class":638,"line":81},[698],{"type":606,"tag":636,"props":699,"children":700},{"style":651},[701],{"type":612,"value":702},"- requests==2.28.0\n",{"type":606,"tag":636,"props":704,"children":706},{"class":638,"line":705},9,[707],{"type":606,"tag":636,"props":708,"children":709},{"style":651},[710],{"type":612,"value":711},"- pandas==1.5.0\n",{"type":606,"tag":636,"props":713,"children":714},{"class":638,"line":99},[715],{"type":606,"tag":636,"props":716,"children":717},{"emptyLinePlaceholder":13},[718],{"type":612,"value":686},{"type":606,"tag":636,"props":720,"children":721},{"class":638,"line":108},[722],{"type":606,"tag":636,"props":723,"children":724},{"style":651},[725],{"type":612,"value":726},"Without virtual environments: CONFLICT!\n",{"type":606,"tag":636,"props":728,"children":729},{"class":638,"line":117},[730],{"type":606,"tag":636,"props":731,"children":732},{"style":651},[733],{"type":612,"value":734},"With virtual environments: Each project has its own dependencies ✅\n",{"type":606,"tag":636,"props":736,"children":737},{"class":638,"line":126},[738],{"type":606,"tag":636,"props":739,"children":740},{"style":651},[741],{"type":612,"value":654},{"type":606,"tag":636,"props":743,"children":744},{"class":638,"line":135},[745],{"type":606,"tag":636,"props":746,"children":747},{"emptyLinePlaceholder":13},[748],{"type":612,"value":686},{"type":606,"tag":636,"props":750,"children":751},{"class":638,"line":144},[752],{"type":606,"tag":636,"props":753,"children":754},{"style":642},[755],{"type":612,"value":756},"# Check current Python environment\n",{"type":606,"tag":636,"props":758,"children":759},{"class":638,"line":153},[760,766],{"type":606,"tag":636,"props":761,"children":763},{"style":762},"--shiki-default:#D73A49;--shiki-app-dark-mode:#F97583",[764],{"type":612,"value":765},"import",{"type":606,"tag":636,"props":767,"children":769},{"style":768},"--shiki-default:#24292E;--shiki-app-dark-mode:#E1E4E8",[770],{"type":612,"value":771}," sys\n",{"type":606,"tag":636,"props":773,"children":774},{"class":638,"line":163},[775,779],{"type":606,"tag":636,"props":776,"children":777},{"style":762},[778],{"type":612,"value":765},{"type":606,"tag":636,"props":780,"children":781},{"style":768},[782],{"type":612,"value":783}," os\n",{"type":606,"tag":636,"props":785,"children":786},{"class":638,"line":172},[787],{"type":606,"tag":636,"props":788,"children":789},{"emptyLinePlaceholder":13},[790],{"type":612,"value":686},{"type":606,"tag":636,"props":792,"children":793},{"class":638,"line":181},[794,800,805,810,815,820,825,830,835],{"type":606,"tag":636,"props":795,"children":797},{"style":796},"--shiki-default:#005CC5;--shiki-app-dark-mode:#79B8FF",[798],{"type":612,"value":799},"print",{"type":606,"tag":636,"props":801,"children":802},{"style":768},[803],{"type":612,"value":804},"(",{"type":606,"tag":636,"props":806,"children":807},{"style":762},[808],{"type":612,"value":809},"f",{"type":606,"tag":636,"props":811,"children":812},{"style":651},[813],{"type":612,"value":814},"\"Python executable: ",{"type":606,"tag":636,"props":816,"children":817},{"style":796},[818],{"type":612,"value":819},"{",{"type":606,"tag":636,"props":821,"children":822},{"style":768},[823],{"type":612,"value":824},"sys.executable",{"type":606,"tag":636,"props":826,"children":827},{"style":796},[828],{"type":612,"value":829},"}",{"type":606,"tag":636,"props":831,"children":832},{"style":651},[833],{"type":612,"value":834},"\"",{"type":606,"tag":636,"props":836,"children":837},{"style":768},[838],{"type":612,"value":839},")\n",{"type":606,"tag":636,"props":841,"children":842},{"class":638,"line":190},[843,847,851,855,860,864,869,873,877],{"type":606,"tag":636,"props":844,"children":845},{"style":796},[846],{"type":612,"value":799},{"type":606,"tag":636,"props":848,"children":849},{"style":768},[850],{"type":612,"value":804},{"type":606,"tag":636,"props":852,"children":853},{"style":762},[854],{"type":612,"value":809},{"type":606,"tag":636,"props":856,"children":857},{"style":651},[858],{"type":612,"value":859},"\"Python version: ",{"type":606,"tag":636,"props":861,"children":862},{"style":796},[863],{"type":612,"value":819},{"type":606,"tag":636,"props":865,"children":866},{"style":768},[867],{"type":612,"value":868},"sys.version",{"type":606,"tag":636,"props":870,"children":871},{"style":796},[872],{"type":612,"value":829},{"type":606,"tag":636,"props":874,"children":875},{"style":651},[876],{"type":612,"value":834},{"type":606,"tag":636,"props":878,"children":879},{"style":768},[880],{"type":612,"value":839},{"type":606,"tag":636,"props":882,"children":883},{"class":638,"line":199},[884,888,892,896,901,905,910,914,918],{"type":606,"tag":636,"props":885,"children":886},{"style":796},[887],{"type":612,"value":799},{"type":606,"tag":636,"props":889,"children":890},{"style":768},[891],{"type":612,"value":804},{"type":606,"tag":636,"props":893,"children":894},{"style":762},[895],{"type":612,"value":809},{"type":606,"tag":636,"props":897,"children":898},{"style":651},[899],{"type":612,"value":900},"\"Current working directory: ",{"type":606,"tag":636,"props":902,"children":903},{"style":796},[904],{"type":612,"value":819},{"type":606,"tag":636,"props":906,"children":907},{"style":768},[908],{"type":612,"value":909},"os.getcwd()",{"type":606,"tag":636,"props":911,"children":912},{"style":796},[913],{"type":612,"value":829},{"type":606,"tag":636,"props":915,"children":916},{"style":651},[917],{"type":612,"value":834},{"type":606,"tag":636,"props":919,"children":920},{"style":768},[921],{"type":612,"value":839},{"type":606,"tag":636,"props":923,"children":924},{"class":638,"line":208},[925],{"type":606,"tag":636,"props":926,"children":927},{"emptyLinePlaceholder":13},[928],{"type":612,"value":686},{"type":606,"tag":636,"props":930,"children":931},{"class":638,"line":217},[932],{"type":606,"tag":636,"props":933,"children":934},{"style":642},[935],{"type":612,"value":936},"# Show some environment info\n",{"type":606,"tag":636,"props":938,"children":939},{"class":638,"line":227},[940,945,950,955,960],{"type":606,"tag":636,"props":941,"children":942},{"style":762},[943],{"type":612,"value":944},"if",{"type":606,"tag":636,"props":946,"children":947},{"style":796},[948],{"type":612,"value":949}," hasattr",{"type":606,"tag":636,"props":951,"children":952},{"style":768},[953],{"type":612,"value":954},"(sys, ",{"type":606,"tag":636,"props":956,"children":957},{"style":651},[958],{"type":612,"value":959},"'prefix'",{"type":606,"tag":636,"props":961,"children":962},{"style":768},[963],{"type":612,"value":964},"):\n",{"type":606,"tag":636,"props":966,"children":967},{"class":638,"line":236},[968,973,977,981,986,990,995,999,1003],{"type":606,"tag":636,"props":969,"children":970},{"style":796},[971],{"type":612,"value":972},"    print",{"type":606,"tag":636,"props":974,"children":975},{"style":768},[976],{"type":612,"value":804},{"type":606,"tag":636,"props":978,"children":979},{"style":762},[980],{"type":612,"value":809},{"type":606,"tag":636,"props":982,"children":983},{"style":651},[984],{"type":612,"value":985},"\"Python prefix: ",{"type":606,"tag":636,"props":987,"children":988},{"style":796},[989],{"type":612,"value":819},{"type":606,"tag":636,"props":991,"children":992},{"style":768},[993],{"type":612,"value":994},"sys.prefix",{"type":606,"tag":636,"props":996,"children":997},{"style":796},[998],{"type":612,"value":829},{"type":606,"tag":636,"props":1000,"children":1001},{"style":651},[1002],{"type":612,"value":834},{"type":606,"tag":636,"props":1004,"children":1005},{"style":768},[1006],{"type":612,"value":839},{"type":606,"tag":1008,"props":1009,"children":1011},"h2",{"id":1010},"why-virtual-environments-matter",[1012],{"type":612,"value":1013},"🎯 Why Virtual Environments Matter",{"type":606,"tag":615,"props":1015,"children":1016},{},[1017],{"type":612,"value":1018},"Virtual environments solve dependency conflicts and ensure reproducible installations.",{"type":606,"tag":1020,"props":1021,"children":1025},"info-box",{"emoji":1022,"title":1023,"type":1024},"🛡️","Virtual Environment Benefits","info",[1026,1035,1060,1068,1091,1099],{"type":606,"tag":615,"props":1027,"children":1028},{},[1029],{"type":606,"tag":1030,"props":1031,"children":1032},"strong",{},[1033],{"type":612,"value":1034},"Problem Without Virtual Environments:",{"type":606,"tag":1036,"props":1037,"children":1038},"ul",{},[1039,1045,1050,1055],{"type":606,"tag":1040,"props":1041,"children":1042},"li",{},[1043],{"type":612,"value":1044},"Global Python installation gets cluttered",{"type":606,"tag":1040,"props":1046,"children":1047},{},[1048],{"type":612,"value":1049},"Different projects need different package versions",{"type":606,"tag":1040,"props":1051,"children":1052},{},[1053],{"type":612,"value":1054},"Upgrading one package can break other projects",{"type":606,"tag":1040,"props":1056,"children":1057},{},[1058],{"type":612,"value":1059},"Hard to share exact dependencies with others",{"type":606,"tag":615,"props":1061,"children":1062},{},[1063],{"type":606,"tag":1030,"props":1064,"children":1065},{},[1066],{"type":612,"value":1067},"Benefits With Virtual Environments:",{"type":606,"tag":1036,"props":1069,"children":1070},{},[1071,1076,1081,1086],{"type":606,"tag":1040,"props":1072,"children":1073},{},[1074],{"type":612,"value":1075},"Clean, isolated Python installation per project",{"type":606,"tag":1040,"props":1077,"children":1078},{},[1079],{"type":612,"value":1080},"Install exact package versions needed",{"type":606,"tag":1040,"props":1082,"children":1083},{},[1084],{"type":612,"value":1085},"Easy to reproduce on other systems",{"type":606,"tag":1040,"props":1087,"children":1088},{},[1089],{"type":612,"value":1090},"Safe to experiment without breaking other projects",{"type":606,"tag":615,"props":1092,"children":1093},{},[1094],{"type":606,"tag":1030,"props":1095,"children":1096},{},[1097],{"type":612,"value":1098},"Tools:",{"type":606,"tag":1036,"props":1100,"children":1101},{},[1102,1113,1124],{"type":606,"tag":1040,"props":1103,"children":1104},{},[1105,1111],{"type":606,"tag":632,"props":1106,"children":1108},{"className":1107},[],[1109],{"type":612,"value":1110},"venv",{"type":612,"value":1112}," (built-in, Python 3.3+)",{"type":606,"tag":1040,"props":1114,"children":1115},{},[1116,1122],{"type":606,"tag":632,"props":1117,"children":1119},{"className":1118},[],[1120],{"type":612,"value":1121},"virtualenv",{"type":612,"value":1123}," (third-party, more features)",{"type":606,"tag":1040,"props":1125,"children":1126},{},[1127,1133],{"type":606,"tag":632,"props":1128,"children":1130},{"className":1129},[],[1131],{"type":612,"value":1132},"conda",{"type":612,"value":1134}," (Anaconda/Miniconda environments)",{"type":606,"tag":1008,"props":1136,"children":1138},{"id":1137},"virtual-environment-commands-reference",[1139],{"type":612,"value":1140},"📋 Virtual Environment Commands Reference",{"type":606,"tag":1142,"props":1143,"children":1144},"table",{},[1145,1169],{"type":606,"tag":1146,"props":1147,"children":1148},"thead",{},[1149],{"type":606,"tag":1150,"props":1151,"children":1152},"tr",{},[1153,1159,1164],{"type":606,"tag":1154,"props":1155,"children":1156},"th",{},[1157],{"type":612,"value":1158},"Command",{"type":606,"tag":1154,"props":1160,"children":1161},{},[1162],{"type":612,"value":1163},"Purpose",{"type":606,"tag":1154,"props":1165,"children":1166},{},[1167],{"type":612,"value":1168},"Example",{"type":606,"tag":1170,"props":1171,"children":1172},"tbody",{},[1173,1200,1226,1252,1277],{"type":606,"tag":1150,"props":1174,"children":1175},{},[1176,1182,1191],{"type":606,"tag":1177,"props":1178,"children":1179},"td",{},[1180],{"type":612,"value":1181},"Create",{"type":606,"tag":1177,"props":1183,"children":1184},{},[1185],{"type":606,"tag":632,"props":1186,"children":1188},{"className":1187},[],[1189],{"type":612,"value":1190},"python -m venv env_name",{"type":606,"tag":1177,"props":1192,"children":1193},{},[1194],{"type":606,"tag":632,"props":1195,"children":1197},{"className":1196},[],[1198],{"type":612,"value":1199},"python -m venv myproject",{"type":606,"tag":1150,"props":1201,"children":1202},{},[1203,1208,1217],{"type":606,"tag":1177,"props":1204,"children":1205},{},[1206],{"type":612,"value":1207},"Activate (Windows)",{"type":606,"tag":1177,"props":1209,"children":1210},{},[1211],{"type":606,"tag":632,"props":1212,"children":1214},{"className":1213},[],[1215],{"type":612,"value":1216},"env_name\\Scripts\\activate",{"type":606,"tag":1177,"props":1218,"children":1219},{},[1220],{"type":606,"tag":632,"props":1221,"children":1223},{"className":1222},[],[1224],{"type":612,"value":1225},"myproject\\Scripts\\activate",{"type":606,"tag":1150,"props":1227,"children":1228},{},[1229,1234,1243],{"type":606,"tag":1177,"props":1230,"children":1231},{},[1232],{"type":612,"value":1233},"Activate (Mac/Linux)",{"type":606,"tag":1177,"props":1235,"children":1236},{},[1237],{"type":606,"tag":632,"props":1238,"children":1240},{"className":1239},[],[1241],{"type":612,"value":1242},"source env_name/bin/activate",{"type":606,"tag":1177,"props":1244,"children":1245},{},[1246],{"type":606,"tag":632,"props":1247,"children":1249},{"className":1248},[],[1250],{"type":612,"value":1251},"source myproject/bin/activate",{"type":606,"tag":1150,"props":1253,"children":1254},{},[1255,1260,1269],{"type":606,"tag":1177,"props":1256,"children":1257},{},[1258],{"type":612,"value":1259},"Deactivate",{"type":606,"tag":1177,"props":1261,"children":1262},{},[1263],{"type":606,"tag":632,"props":1264,"children":1266},{"className":1265},[],[1267],{"type":612,"value":1268},"deactivate",{"type":606,"tag":1177,"props":1270,"children":1271},{},[1272],{"type":606,"tag":632,"props":1273,"children":1275},{"className":1274},[],[1276],{"type":612,"value":1268},{"type":606,"tag":1150,"props":1278,"children":1279},{},[1280,1285,1290],{"type":606,"tag":1177,"props":1281,"children":1282},{},[1283],{"type":612,"value":1284},"Delete",{"type":606,"tag":1177,"props":1286,"children":1287},{},[1288],{"type":612,"value":1289},"Remove directory",{"type":606,"tag":1177,"props":1291,"children":1292},{},[1293],{"type":606,"tag":632,"props":1294,"children":1296},{"className":1295},[],[1297],{"type":612,"value":1298},"rm -rf myproject/",{"type":606,"tag":1008,"props":1300,"children":1302},{"id":1301},"creating-and-using-virtual-environments",[1303],{"type":612,"value":1304},"🔧 Creating and Using Virtual Environments",{"type":606,"tag":1306,"props":1307,"children":1309},"h3",{"id":1308},"basic-virtual-environment-workflow",[1310],{"type":612,"value":1311},"Basic Virtual Environment Workflow",{"type":606,"tag":621,"props":1313,"children":1314},{},[1315],{"type":606,"tag":625,"props":1316,"children":1318},{"className":627,"code":1317,"language":629,"meta":8,"style":8},"# Commands you would run in terminal (simulated here)\n\"\"\"\n# 1. Create a new virtual environment\npython -m venv myproject_env\n\n# 2. Activate the environment\n# Windows:\nmyproject_env\\Scripts\\activate\n# Mac/Linux:\nsource myproject_env/bin/activate\n\n# 3. Install packages\npip install requests pandas\n\n# 4. Check installed packages\npip list\n\n# 5. Save dependencies\npip freeze > requirements.txt\n\n# 6. Deactivate when done\ndeactivate\n\"\"\"\n\n# Checking if we're in a virtual environment\nimport sys\nimport os\n\ndef check_virtual_env():\n    # Check if we're in a virtual environment\n    in_venv = hasattr(sys, 'real_prefix') or (\n        hasattr(sys, 'base_prefix') and sys.base_prefix != sys.prefix\n    )\n    \n    if in_venv:\n        return \"Running in virtual environment\"\n    else:\n        return \"Running in system Python\"\n\nenv_status = check_virtual_env()\nprint(f\"Environment status: {env_status}\")\n",[1319],{"type":606,"tag":632,"props":1320,"children":1321},{"__ignoreMap":8},[1322,1330,1337,1345,1353,1360,1368,1376,1394,1402,1410,1417,1425,1433,1440,1448,1456,1463,1471,1479,1486,1494,1502,1509,1516,1524,1535,1546,1553,1572,1580,1621,1662,1670,1678,1691,1704,1717,1729,1736,1753],{"type":606,"tag":636,"props":1323,"children":1324},{"class":638,"line":12},[1325],{"type":606,"tag":636,"props":1326,"children":1327},{"style":642},[1328],{"type":612,"value":1329},"# Commands you would run in terminal (simulated here)\n",{"type":606,"tag":636,"props":1331,"children":1332},{"class":638,"line":27},[1333],{"type":606,"tag":636,"props":1334,"children":1335},{"style":651},[1336],{"type":612,"value":654},{"type":606,"tag":636,"props":1338,"children":1339},{"class":638,"line":36},[1340],{"type":606,"tag":636,"props":1341,"children":1342},{"style":651},[1343],{"type":612,"value":1344},"# 1. Create a new virtual environment\n",{"type":606,"tag":636,"props":1346,"children":1347},{"class":638,"line":45},[1348],{"type":606,"tag":636,"props":1349,"children":1350},{"style":651},[1351],{"type":612,"value":1352},"python -m venv myproject_env\n",{"type":606,"tag":636,"props":1354,"children":1355},{"class":638,"line":54},[1356],{"type":606,"tag":636,"props":1357,"children":1358},{"emptyLinePlaceholder":13},[1359],{"type":612,"value":686},{"type":606,"tag":636,"props":1361,"children":1362},{"class":638,"line":63},[1363],{"type":606,"tag":636,"props":1364,"children":1365},{"style":651},[1366],{"type":612,"value":1367},"# 2. Activate the environment\n",{"type":606,"tag":636,"props":1369,"children":1370},{"class":638,"line":72},[1371],{"type":606,"tag":636,"props":1372,"children":1373},{"style":651},[1374],{"type":612,"value":1375},"# Windows:\n",{"type":606,"tag":636,"props":1377,"children":1378},{"class":638,"line":81},[1379,1384,1389],{"type":606,"tag":636,"props":1380,"children":1381},{"style":651},[1382],{"type":612,"value":1383},"myproject_env\\Scripts",{"type":606,"tag":636,"props":1385,"children":1386},{"style":796},[1387],{"type":612,"value":1388},"\\a",{"type":606,"tag":636,"props":1390,"children":1391},{"style":651},[1392],{"type":612,"value":1393},"ctivate\n",{"type":606,"tag":636,"props":1395,"children":1396},{"class":638,"line":705},[1397],{"type":606,"tag":636,"props":1398,"children":1399},{"style":651},[1400],{"type":612,"value":1401},"# Mac/Linux:\n",{"type":606,"tag":636,"props":1403,"children":1404},{"class":638,"line":99},[1405],{"type":606,"tag":636,"props":1406,"children":1407},{"style":651},[1408],{"type":612,"value":1409},"source myproject_env/bin/activate\n",{"type":606,"tag":636,"props":1411,"children":1412},{"class":638,"line":108},[1413],{"type":606,"tag":636,"props":1414,"children":1415},{"emptyLinePlaceholder":13},[1416],{"type":612,"value":686},{"type":606,"tag":636,"props":1418,"children":1419},{"class":638,"line":117},[1420],{"type":606,"tag":636,"props":1421,"children":1422},{"style":651},[1423],{"type":612,"value":1424},"# 3. Install packages\n",{"type":606,"tag":636,"props":1426,"children":1427},{"class":638,"line":126},[1428],{"type":606,"tag":636,"props":1429,"children":1430},{"style":651},[1431],{"type":612,"value":1432},"pip install requests pandas\n",{"type":606,"tag":636,"props":1434,"children":1435},{"class":638,"line":135},[1436],{"type":606,"tag":636,"props":1437,"children":1438},{"emptyLinePlaceholder":13},[1439],{"type":612,"value":686},{"type":606,"tag":636,"props":1441,"children":1442},{"class":638,"line":144},[1443],{"type":606,"tag":636,"props":1444,"children":1445},{"style":651},[1446],{"type":612,"value":1447},"# 4. Check installed packages\n",{"type":606,"tag":636,"props":1449,"children":1450},{"class":638,"line":153},[1451],{"type":606,"tag":636,"props":1452,"children":1453},{"style":651},[1454],{"type":612,"value":1455},"pip list\n",{"type":606,"tag":636,"props":1457,"children":1458},{"class":638,"line":163},[1459],{"type":606,"tag":636,"props":1460,"children":1461},{"emptyLinePlaceholder":13},[1462],{"type":612,"value":686},{"type":606,"tag":636,"props":1464,"children":1465},{"class":638,"line":172},[1466],{"type":606,"tag":636,"props":1467,"children":1468},{"style":651},[1469],{"type":612,"value":1470},"# 5. Save dependencies\n",{"type":606,"tag":636,"props":1472,"children":1473},{"class":638,"line":181},[1474],{"type":606,"tag":636,"props":1475,"children":1476},{"style":651},[1477],{"type":612,"value":1478},"pip freeze > requirements.txt\n",{"type":606,"tag":636,"props":1480,"children":1481},{"class":638,"line":190},[1482],{"type":606,"tag":636,"props":1483,"children":1484},{"emptyLinePlaceholder":13},[1485],{"type":612,"value":686},{"type":606,"tag":636,"props":1487,"children":1488},{"class":638,"line":199},[1489],{"type":606,"tag":636,"props":1490,"children":1491},{"style":651},[1492],{"type":612,"value":1493},"# 6. Deactivate when done\n",{"type":606,"tag":636,"props":1495,"children":1496},{"class":638,"line":208},[1497],{"type":606,"tag":636,"props":1498,"children":1499},{"style":651},[1500],{"type":612,"value":1501},"deactivate\n",{"type":606,"tag":636,"props":1503,"children":1504},{"class":638,"line":217},[1505],{"type":606,"tag":636,"props":1506,"children":1507},{"style":651},[1508],{"type":612,"value":654},{"type":606,"tag":636,"props":1510,"children":1511},{"class":638,"line":227},[1512],{"type":606,"tag":636,"props":1513,"children":1514},{"emptyLinePlaceholder":13},[1515],{"type":612,"value":686},{"type":606,"tag":636,"props":1517,"children":1518},{"class":638,"line":236},[1519],{"type":606,"tag":636,"props":1520,"children":1521},{"style":642},[1522],{"type":612,"value":1523},"# Checking if we're in a virtual environment\n",{"type":606,"tag":636,"props":1525,"children":1526},{"class":638,"line":245},[1527,1531],{"type":606,"tag":636,"props":1528,"children":1529},{"style":762},[1530],{"type":612,"value":765},{"type":606,"tag":636,"props":1532,"children":1533},{"style":768},[1534],{"type":612,"value":771},{"type":606,"tag":636,"props":1536,"children":1537},{"class":638,"line":254},[1538,1542],{"type":606,"tag":636,"props":1539,"children":1540},{"style":762},[1541],{"type":612,"value":765},{"type":606,"tag":636,"props":1543,"children":1544},{"style":768},[1545],{"type":612,"value":783},{"type":606,"tag":636,"props":1547,"children":1548},{"class":638,"line":263},[1549],{"type":606,"tag":636,"props":1550,"children":1551},{"emptyLinePlaceholder":13},[1552],{"type":612,"value":686},{"type":606,"tag":636,"props":1554,"children":1555},{"class":638,"line":272},[1556,1561,1567],{"type":606,"tag":636,"props":1557,"children":1558},{"style":762},[1559],{"type":612,"value":1560},"def",{"type":606,"tag":636,"props":1562,"children":1564},{"style":1563},"--shiki-default:#6F42C1;--shiki-app-dark-mode:#B392F0",[1565],{"type":612,"value":1566}," check_virtual_env",{"type":606,"tag":636,"props":1568,"children":1569},{"style":768},[1570],{"type":612,"value":1571},"():\n",{"type":606,"tag":636,"props":1573,"children":1574},{"class":638,"line":281},[1575],{"type":606,"tag":636,"props":1576,"children":1577},{"style":642},[1578],{"type":612,"value":1579},"    # Check if we're in a virtual environment\n",{"type":606,"tag":636,"props":1581,"children":1582},{"class":638,"line":291},[1583,1588,1593,1597,1601,1606,1611,1616],{"type":606,"tag":636,"props":1584,"children":1585},{"style":768},[1586],{"type":612,"value":1587},"    in_venv ",{"type":606,"tag":636,"props":1589,"children":1590},{"style":762},[1591],{"type":612,"value":1592},"=",{"type":606,"tag":636,"props":1594,"children":1595},{"style":796},[1596],{"type":612,"value":949},{"type":606,"tag":636,"props":1598,"children":1599},{"style":768},[1600],{"type":612,"value":954},{"type":606,"tag":636,"props":1602,"children":1603},{"style":651},[1604],{"type":612,"value":1605},"'real_prefix'",{"type":606,"tag":636,"props":1607,"children":1608},{"style":768},[1609],{"type":612,"value":1610},") ",{"type":606,"tag":636,"props":1612,"children":1613},{"style":762},[1614],{"type":612,"value":1615},"or",{"type":606,"tag":636,"props":1617,"children":1618},{"style":768},[1619],{"type":612,"value":1620}," (\n",{"type":606,"tag":636,"props":1622,"children":1623},{"class":638,"line":302},[1624,1629,1633,1638,1642,1647,1652,1657],{"type":606,"tag":636,"props":1625,"children":1626},{"style":796},[1627],{"type":612,"value":1628},"        hasattr",{"type":606,"tag":636,"props":1630,"children":1631},{"style":768},[1632],{"type":612,"value":954},{"type":606,"tag":636,"props":1634,"children":1635},{"style":651},[1636],{"type":612,"value":1637},"'base_prefix'",{"type":606,"tag":636,"props":1639,"children":1640},{"style":768},[1641],{"type":612,"value":1610},{"type":606,"tag":636,"props":1643,"children":1644},{"style":762},[1645],{"type":612,"value":1646},"and",{"type":606,"tag":636,"props":1648,"children":1649},{"style":768},[1650],{"type":612,"value":1651}," sys.base_prefix ",{"type":606,"tag":636,"props":1653,"children":1654},{"style":762},[1655],{"type":612,"value":1656},"!=",{"type":606,"tag":636,"props":1658,"children":1659},{"style":768},[1660],{"type":612,"value":1661}," sys.prefix\n",{"type":606,"tag":636,"props":1663,"children":1664},{"class":638,"line":311},[1665],{"type":606,"tag":636,"props":1666,"children":1667},{"style":768},[1668],{"type":612,"value":1669},"    )\n",{"type":606,"tag":636,"props":1671,"children":1672},{"class":638,"line":320},[1673],{"type":606,"tag":636,"props":1674,"children":1675},{"style":768},[1676],{"type":612,"value":1677},"    \n",{"type":606,"tag":636,"props":1679,"children":1680},{"class":638,"line":329},[1681,1686],{"type":606,"tag":636,"props":1682,"children":1683},{"style":762},[1684],{"type":612,"value":1685},"    if",{"type":606,"tag":636,"props":1687,"children":1688},{"style":768},[1689],{"type":612,"value":1690}," in_venv:\n",{"type":606,"tag":636,"props":1692,"children":1693},{"class":638,"line":338},[1694,1699],{"type":606,"tag":636,"props":1695,"children":1696},{"style":762},[1697],{"type":612,"value":1698},"        return",{"type":606,"tag":636,"props":1700,"children":1701},{"style":651},[1702],{"type":612,"value":1703}," \"Running in virtual environment\"\n",{"type":606,"tag":636,"props":1705,"children":1706},{"class":638,"line":347},[1707,1712],{"type":606,"tag":636,"props":1708,"children":1709},{"style":762},[1710],{"type":612,"value":1711},"    else",{"type":606,"tag":636,"props":1713,"children":1714},{"style":768},[1715],{"type":612,"value":1716},":\n",{"type":606,"tag":636,"props":1718,"children":1719},{"class":638,"line":356},[1720,1724],{"type":606,"tag":636,"props":1721,"children":1722},{"style":762},[1723],{"type":612,"value":1698},{"type":606,"tag":636,"props":1725,"children":1726},{"style":651},[1727],{"type":612,"value":1728}," \"Running in system Python\"\n",{"type":606,"tag":636,"props":1730,"children":1731},{"class":638,"line":367},[1732],{"type":606,"tag":636,"props":1733,"children":1734},{"emptyLinePlaceholder":13},[1735],{"type":612,"value":686},{"type":606,"tag":636,"props":1737,"children":1738},{"class":638,"line":376},[1739,1744,1748],{"type":606,"tag":636,"props":1740,"children":1741},{"style":768},[1742],{"type":612,"value":1743},"env_status ",{"type":606,"tag":636,"props":1745,"children":1746},{"style":762},[1747],{"type":612,"value":1592},{"type":606,"tag":636,"props":1749,"children":1750},{"style":768},[1751],{"type":612,"value":1752}," check_virtual_env()\n",{"type":606,"tag":636,"props":1754,"children":1755},{"class":638,"line":385},[1756,1760,1764,1768,1773,1777,1782,1786,1790],{"type":606,"tag":636,"props":1757,"children":1758},{"style":796},[1759],{"type":612,"value":799},{"type":606,"tag":636,"props":1761,"children":1762},{"style":768},[1763],{"type":612,"value":804},{"type":606,"tag":636,"props":1765,"children":1766},{"style":762},[1767],{"type":612,"value":809},{"type":606,"tag":636,"props":1769,"children":1770},{"style":651},[1771],{"type":612,"value":1772},"\"Environment status: ",{"type":606,"tag":636,"props":1774,"children":1775},{"style":796},[1776],{"type":612,"value":819},{"type":606,"tag":636,"props":1778,"children":1779},{"style":768},[1780],{"type":612,"value":1781},"env_status",{"type":606,"tag":636,"props":1783,"children":1784},{"style":796},[1785],{"type":612,"value":829},{"type":606,"tag":636,"props":1787,"children":1788},{"style":651},[1789],{"type":612,"value":834},{"type":606,"tag":636,"props":1791,"children":1792},{"style":768},[1793],{"type":612,"value":839},{"type":606,"tag":1306,"props":1795,"children":1797},{"id":1796},"requirementstxt-file",[1798],{"type":612,"value":1799},"Requirements.txt File",{"type":606,"tag":621,"props":1801,"children":1802},{},[1803],{"type":606,"tag":625,"props":1804,"children":1806},{"className":627,"code":1805,"language":629,"meta":8,"style":8},"# Example requirements.txt content\nrequirements_content = \"\"\"\n# Core dependencies\nrequests==2.28.2\npandas==1.5.3\nnumpy==1.24.2\n\n# Development dependencies\npytest==7.2.1\nblack==23.1.0\nflake8==6.0.0\n\n# Optional dependencies\nmatplotlib>=3.6.0\nseaborn>=0.11.0\n\"\"\"\n\nprint(\"Example requirements.txt:\")\nprint(requirements_content)\n\n# How to work with requirements files\n\"\"\"\n# Install from requirements file:\npip install -r requirements.txt\n\n# Update requirements file:\npip freeze > requirements.txt\n\n# Install specific versions:\npip install requests==2.28.2\n\n# Install latest version:\npip install pandas\n\"\"\"\n",[1807],{"type":606,"tag":632,"props":1808,"children":1809},{"__ignoreMap":8},[1810,1818,1835,1843,1851,1859,1867,1874,1882,1890,1898,1906,1913,1921,1929,1937,1944,1951,1971,1983,1990,1998,2005,2013,2021,2028,2036,2043,2050,2058,2066,2073,2081,2089],{"type":606,"tag":636,"props":1811,"children":1812},{"class":638,"line":12},[1813],{"type":606,"tag":636,"props":1814,"children":1815},{"style":642},[1816],{"type":612,"value":1817},"# Example requirements.txt content\n",{"type":606,"tag":636,"props":1819,"children":1820},{"class":638,"line":27},[1821,1826,1830],{"type":606,"tag":636,"props":1822,"children":1823},{"style":768},[1824],{"type":612,"value":1825},"requirements_content ",{"type":606,"tag":636,"props":1827,"children":1828},{"style":762},[1829],{"type":612,"value":1592},{"type":606,"tag":636,"props":1831,"children":1832},{"style":651},[1833],{"type":612,"value":1834}," \"\"\"\n",{"type":606,"tag":636,"props":1836,"children":1837},{"class":638,"line":36},[1838],{"type":606,"tag":636,"props":1839,"children":1840},{"style":651},[1841],{"type":612,"value":1842},"# Core dependencies\n",{"type":606,"tag":636,"props":1844,"children":1845},{"class":638,"line":45},[1846],{"type":606,"tag":636,"props":1847,"children":1848},{"style":651},[1849],{"type":612,"value":1850},"requests==2.28.2\n",{"type":606,"tag":636,"props":1852,"children":1853},{"class":638,"line":54},[1854],{"type":606,"tag":636,"props":1855,"children":1856},{"style":651},[1857],{"type":612,"value":1858},"pandas==1.5.3\n",{"type":606,"tag":636,"props":1860,"children":1861},{"class":638,"line":63},[1862],{"type":606,"tag":636,"props":1863,"children":1864},{"style":651},[1865],{"type":612,"value":1866},"numpy==1.24.2\n",{"type":606,"tag":636,"props":1868,"children":1869},{"class":638,"line":72},[1870],{"type":606,"tag":636,"props":1871,"children":1872},{"emptyLinePlaceholder":13},[1873],{"type":612,"value":686},{"type":606,"tag":636,"props":1875,"children":1876},{"class":638,"line":81},[1877],{"type":606,"tag":636,"props":1878,"children":1879},{"style":651},[1880],{"type":612,"value":1881},"# Development dependencies\n",{"type":606,"tag":636,"props":1883,"children":1884},{"class":638,"line":705},[1885],{"type":606,"tag":636,"props":1886,"children":1887},{"style":651},[1888],{"type":612,"value":1889},"pytest==7.2.1\n",{"type":606,"tag":636,"props":1891,"children":1892},{"class":638,"line":99},[1893],{"type":606,"tag":636,"props":1894,"children":1895},{"style":651},[1896],{"type":612,"value":1897},"black==23.1.0\n",{"type":606,"tag":636,"props":1899,"children":1900},{"class":638,"line":108},[1901],{"type":606,"tag":636,"props":1902,"children":1903},{"style":651},[1904],{"type":612,"value":1905},"flake8==6.0.0\n",{"type":606,"tag":636,"props":1907,"children":1908},{"class":638,"line":117},[1909],{"type":606,"tag":636,"props":1910,"children":1911},{"emptyLinePlaceholder":13},[1912],{"type":612,"value":686},{"type":606,"tag":636,"props":1914,"children":1915},{"class":638,"line":126},[1916],{"type":606,"tag":636,"props":1917,"children":1918},{"style":651},[1919],{"type":612,"value":1920},"# Optional dependencies\n",{"type":606,"tag":636,"props":1922,"children":1923},{"class":638,"line":135},[1924],{"type":606,"tag":636,"props":1925,"children":1926},{"style":651},[1927],{"type":612,"value":1928},"matplotlib>=3.6.0\n",{"type":606,"tag":636,"props":1930,"children":1931},{"class":638,"line":144},[1932],{"type":606,"tag":636,"props":1933,"children":1934},{"style":651},[1935],{"type":612,"value":1936},"seaborn>=0.11.0\n",{"type":606,"tag":636,"props":1938,"children":1939},{"class":638,"line":153},[1940],{"type":606,"tag":636,"props":1941,"children":1942},{"style":651},[1943],{"type":612,"value":654},{"type":606,"tag":636,"props":1945,"children":1946},{"class":638,"line":163},[1947],{"type":606,"tag":636,"props":1948,"children":1949},{"emptyLinePlaceholder":13},[1950],{"type":612,"value":686},{"type":606,"tag":636,"props":1952,"children":1953},{"class":638,"line":172},[1954,1958,1962,1967],{"type":606,"tag":636,"props":1955,"children":1956},{"style":796},[1957],{"type":612,"value":799},{"type":606,"tag":636,"props":1959,"children":1960},{"style":768},[1961],{"type":612,"value":804},{"type":606,"tag":636,"props":1963,"children":1964},{"style":651},[1965],{"type":612,"value":1966},"\"Example requirements.txt:\"",{"type":606,"tag":636,"props":1968,"children":1969},{"style":768},[1970],{"type":612,"value":839},{"type":606,"tag":636,"props":1972,"children":1973},{"class":638,"line":181},[1974,1978],{"type":606,"tag":636,"props":1975,"children":1976},{"style":796},[1977],{"type":612,"value":799},{"type":606,"tag":636,"props":1979,"children":1980},{"style":768},[1981],{"type":612,"value":1982},"(requirements_content)\n",{"type":606,"tag":636,"props":1984,"children":1985},{"class":638,"line":190},[1986],{"type":606,"tag":636,"props":1987,"children":1988},{"emptyLinePlaceholder":13},[1989],{"type":612,"value":686},{"type":606,"tag":636,"props":1991,"children":1992},{"class":638,"line":199},[1993],{"type":606,"tag":636,"props":1994,"children":1995},{"style":642},[1996],{"type":612,"value":1997},"# How to work with requirements files\n",{"type":606,"tag":636,"props":1999,"children":2000},{"class":638,"line":208},[2001],{"type":606,"tag":636,"props":2002,"children":2003},{"style":651},[2004],{"type":612,"value":654},{"type":606,"tag":636,"props":2006,"children":2007},{"class":638,"line":217},[2008],{"type":606,"tag":636,"props":2009,"children":2010},{"style":651},[2011],{"type":612,"value":2012},"# Install from requirements file:\n",{"type":606,"tag":636,"props":2014,"children":2015},{"class":638,"line":227},[2016],{"type":606,"tag":636,"props":2017,"children":2018},{"style":651},[2019],{"type":612,"value":2020},"pip install -r requirements.txt\n",{"type":606,"tag":636,"props":2022,"children":2023},{"class":638,"line":236},[2024],{"type":606,"tag":636,"props":2025,"children":2026},{"emptyLinePlaceholder":13},[2027],{"type":612,"value":686},{"type":606,"tag":636,"props":2029,"children":2030},{"class":638,"line":245},[2031],{"type":606,"tag":636,"props":2032,"children":2033},{"style":651},[2034],{"type":612,"value":2035},"# Update requirements file:\n",{"type":606,"tag":636,"props":2037,"children":2038},{"class":638,"line":254},[2039],{"type":606,"tag":636,"props":2040,"children":2041},{"style":651},[2042],{"type":612,"value":1478},{"type":606,"tag":636,"props":2044,"children":2045},{"class":638,"line":263},[2046],{"type":606,"tag":636,"props":2047,"children":2048},{"emptyLinePlaceholder":13},[2049],{"type":612,"value":686},{"type":606,"tag":636,"props":2051,"children":2052},{"class":638,"line":272},[2053],{"type":606,"tag":636,"props":2054,"children":2055},{"style":651},[2056],{"type":612,"value":2057},"# Install specific versions:\n",{"type":606,"tag":636,"props":2059,"children":2060},{"class":638,"line":281},[2061],{"type":606,"tag":636,"props":2062,"children":2063},{"style":651},[2064],{"type":612,"value":2065},"pip install requests==2.28.2\n",{"type":606,"tag":636,"props":2067,"children":2068},{"class":638,"line":291},[2069],{"type":606,"tag":636,"props":2070,"children":2071},{"emptyLinePlaceholder":13},[2072],{"type":612,"value":686},{"type":606,"tag":636,"props":2074,"children":2075},{"class":638,"line":302},[2076],{"type":606,"tag":636,"props":2077,"children":2078},{"style":651},[2079],{"type":612,"value":2080},"# Install latest version:\n",{"type":606,"tag":636,"props":2082,"children":2083},{"class":638,"line":311},[2084],{"type":606,"tag":636,"props":2085,"children":2086},{"style":651},[2087],{"type":612,"value":2088},"pip install pandas\n",{"type":606,"tag":636,"props":2090,"children":2091},{"class":638,"line":320},[2092],{"type":606,"tag":636,"props":2093,"children":2094},{"style":651},[2095],{"type":612,"value":654},{"type":606,"tag":1306,"props":2097,"children":2099},{"id":2098},"project-structure-with-virtual-environment",[2100],{"type":612,"value":2101},"Project Structure with Virtual Environment",{"type":606,"tag":621,"props":2103,"children":2104},{},[2105],{"type":606,"tag":625,"props":2106,"children":2108},{"className":627,"code":2107,"language":629,"meta":8,"style":8},"# Recommended project structure\nproject_structure = \"\"\"\nmy_project/\n├── myproject_env/          # Virtual environment (don't commit to git)\n│   ├── Scripts/            # Windows: Scripts, Mac/Linux: bin\n│   ├── Lib/\n│   └── Include/\n├── src/                    # Your source code\n│   ├── main.py\n│   └── utils.py\n├── tests/                  # Test files\n│   └── test_main.py\n├── requirements.txt        # Dependencies\n├── .gitignore             # Ignore venv directory\n├── README.md              # Project documentation\n└── setup.py               # Package configuration (optional)\n\"\"\"\n\nprint(\"Recommended project structure:\")\nprint(project_structure)\n\n# .gitignore content for Python projects\ngitignore_content = \"\"\"\n# Virtual environments\nvenv/\nenv/\nmyproject_env/\n.env\n\n# Python\n__pycache__/\n*.pyc\n*.pyo\n*.pyd\n.Python\nbuild/\ndevelop-eggs/\ndist/\ndownloads/\neggs/\n.eggs/\nlib/\nlib64/\nparts/\nsdist/\nvar/\nwheels/\n*.egg-info/\n.installed.cfg\n*.egg\n\"\"\"\n\nprint(\"\\nExample .gitignore for Python:\")\nprint(gitignore_content[:200] + \"...\")\n",[2109],{"type":606,"tag":632,"props":2110,"children":2111},{"__ignoreMap":8},[2112,2120,2136,2144,2152,2160,2168,2176,2184,2192,2200,2208,2216,2224,2232,2240,2248,2255,2262,2282,2294,2301,2309,2325,2333,2341,2349,2357,2365,2372,2380,2388,2396,2404,2412,2420,2428,2436,2444,2452,2460,2468,2476,2484,2492,2500,2508,2516,2524,2532,2540,2547,2554,2583],{"type":606,"tag":636,"props":2113,"children":2114},{"class":638,"line":12},[2115],{"type":606,"tag":636,"props":2116,"children":2117},{"style":642},[2118],{"type":612,"value":2119},"# Recommended project structure\n",{"type":606,"tag":636,"props":2121,"children":2122},{"class":638,"line":27},[2123,2128,2132],{"type":606,"tag":636,"props":2124,"children":2125},{"style":768},[2126],{"type":612,"value":2127},"project_structure ",{"type":606,"tag":636,"props":2129,"children":2130},{"style":762},[2131],{"type":612,"value":1592},{"type":606,"tag":636,"props":2133,"children":2134},{"style":651},[2135],{"type":612,"value":1834},{"type":606,"tag":636,"props":2137,"children":2138},{"class":638,"line":36},[2139],{"type":606,"tag":636,"props":2140,"children":2141},{"style":651},[2142],{"type":612,"value":2143},"my_project/\n",{"type":606,"tag":636,"props":2145,"children":2146},{"class":638,"line":45},[2147],{"type":606,"tag":636,"props":2148,"children":2149},{"style":651},[2150],{"type":612,"value":2151},"├── myproject_env/          # Virtual environment (don't commit to git)\n",{"type":606,"tag":636,"props":2153,"children":2154},{"class":638,"line":54},[2155],{"type":606,"tag":636,"props":2156,"children":2157},{"style":651},[2158],{"type":612,"value":2159},"│   ├── Scripts/            # Windows: Scripts, Mac/Linux: bin\n",{"type":606,"tag":636,"props":2161,"children":2162},{"class":638,"line":63},[2163],{"type":606,"tag":636,"props":2164,"children":2165},{"style":651},[2166],{"type":612,"value":2167},"│   ├── Lib/\n",{"type":606,"tag":636,"props":2169,"children":2170},{"class":638,"line":72},[2171],{"type":606,"tag":636,"props":2172,"children":2173},{"style":651},[2174],{"type":612,"value":2175},"│   └── Include/\n",{"type":606,"tag":636,"props":2177,"children":2178},{"class":638,"line":81},[2179],{"type":606,"tag":636,"props":2180,"children":2181},{"style":651},[2182],{"type":612,"value":2183},"├── src/                    # Your source code\n",{"type":606,"tag":636,"props":2185,"children":2186},{"class":638,"line":705},[2187],{"type":606,"tag":636,"props":2188,"children":2189},{"style":651},[2190],{"type":612,"value":2191},"│   ├── main.py\n",{"type":606,"tag":636,"props":2193,"children":2194},{"class":638,"line":99},[2195],{"type":606,"tag":636,"props":2196,"children":2197},{"style":651},[2198],{"type":612,"value":2199},"│   └── utils.py\n",{"type":606,"tag":636,"props":2201,"children":2202},{"class":638,"line":108},[2203],{"type":606,"tag":636,"props":2204,"children":2205},{"style":651},[2206],{"type":612,"value":2207},"├── tests/                  # Test files\n",{"type":606,"tag":636,"props":2209,"children":2210},{"class":638,"line":117},[2211],{"type":606,"tag":636,"props":2212,"children":2213},{"style":651},[2214],{"type":612,"value":2215},"│   └── test_main.py\n",{"type":606,"tag":636,"props":2217,"children":2218},{"class":638,"line":126},[2219],{"type":606,"tag":636,"props":2220,"children":2221},{"style":651},[2222],{"type":612,"value":2223},"├── requirements.txt        # Dependencies\n",{"type":606,"tag":636,"props":2225,"children":2226},{"class":638,"line":135},[2227],{"type":606,"tag":636,"props":2228,"children":2229},{"style":651},[2230],{"type":612,"value":2231},"├── .gitignore             # Ignore venv directory\n",{"type":606,"tag":636,"props":2233,"children":2234},{"class":638,"line":144},[2235],{"type":606,"tag":636,"props":2236,"children":2237},{"style":651},[2238],{"type":612,"value":2239},"├── README.md              # Project documentation\n",{"type":606,"tag":636,"props":2241,"children":2242},{"class":638,"line":153},[2243],{"type":606,"tag":636,"props":2244,"children":2245},{"style":651},[2246],{"type":612,"value":2247},"└── setup.py               # Package configuration (optional)\n",{"type":606,"tag":636,"props":2249,"children":2250},{"class":638,"line":163},[2251],{"type":606,"tag":636,"props":2252,"children":2253},{"style":651},[2254],{"type":612,"value":654},{"type":606,"tag":636,"props":2256,"children":2257},{"class":638,"line":172},[2258],{"type":606,"tag":636,"props":2259,"children":2260},{"emptyLinePlaceholder":13},[2261],{"type":612,"value":686},{"type":606,"tag":636,"props":2263,"children":2264},{"class":638,"line":181},[2265,2269,2273,2278],{"type":606,"tag":636,"props":2266,"children":2267},{"style":796},[2268],{"type":612,"value":799},{"type":606,"tag":636,"props":2270,"children":2271},{"style":768},[2272],{"type":612,"value":804},{"type":606,"tag":636,"props":2274,"children":2275},{"style":651},[2276],{"type":612,"value":2277},"\"Recommended project structure:\"",{"type":606,"tag":636,"props":2279,"children":2280},{"style":768},[2281],{"type":612,"value":839},{"type":606,"tag":636,"props":2283,"children":2284},{"class":638,"line":190},[2285,2289],{"type":606,"tag":636,"props":2286,"children":2287},{"style":796},[2288],{"type":612,"value":799},{"type":606,"tag":636,"props":2290,"children":2291},{"style":768},[2292],{"type":612,"value":2293},"(project_structure)\n",{"type":606,"tag":636,"props":2295,"children":2296},{"class":638,"line":199},[2297],{"type":606,"tag":636,"props":2298,"children":2299},{"emptyLinePlaceholder":13},[2300],{"type":612,"value":686},{"type":606,"tag":636,"props":2302,"children":2303},{"class":638,"line":208},[2304],{"type":606,"tag":636,"props":2305,"children":2306},{"style":642},[2307],{"type":612,"value":2308},"# .gitignore content for Python projects\n",{"type":606,"tag":636,"props":2310,"children":2311},{"class":638,"line":217},[2312,2317,2321],{"type":606,"tag":636,"props":2313,"children":2314},{"style":768},[2315],{"type":612,"value":2316},"gitignore_content ",{"type":606,"tag":636,"props":2318,"children":2319},{"style":762},[2320],{"type":612,"value":1592},{"type":606,"tag":636,"props":2322,"children":2323},{"style":651},[2324],{"type":612,"value":1834},{"type":606,"tag":636,"props":2326,"children":2327},{"class":638,"line":227},[2328],{"type":606,"tag":636,"props":2329,"children":2330},{"style":651},[2331],{"type":612,"value":2332},"# Virtual environments\n",{"type":606,"tag":636,"props":2334,"children":2335},{"class":638,"line":236},[2336],{"type":606,"tag":636,"props":2337,"children":2338},{"style":651},[2339],{"type":612,"value":2340},"venv/\n",{"type":606,"tag":636,"props":2342,"children":2343},{"class":638,"line":245},[2344],{"type":606,"tag":636,"props":2345,"children":2346},{"style":651},[2347],{"type":612,"value":2348},"env/\n",{"type":606,"tag":636,"props":2350,"children":2351},{"class":638,"line":254},[2352],{"type":606,"tag":636,"props":2353,"children":2354},{"style":651},[2355],{"type":612,"value":2356},"myproject_env/\n",{"type":606,"tag":636,"props":2358,"children":2359},{"class":638,"line":263},[2360],{"type":606,"tag":636,"props":2361,"children":2362},{"style":651},[2363],{"type":612,"value":2364},".env\n",{"type":606,"tag":636,"props":2366,"children":2367},{"class":638,"line":272},[2368],{"type":606,"tag":636,"props":2369,"children":2370},{"emptyLinePlaceholder":13},[2371],{"type":612,"value":686},{"type":606,"tag":636,"props":2373,"children":2374},{"class":638,"line":281},[2375],{"type":606,"tag":636,"props":2376,"children":2377},{"style":651},[2378],{"type":612,"value":2379},"# Python\n",{"type":606,"tag":636,"props":2381,"children":2382},{"class":638,"line":291},[2383],{"type":606,"tag":636,"props":2384,"children":2385},{"style":651},[2386],{"type":612,"value":2387},"__pycache__/\n",{"type":606,"tag":636,"props":2389,"children":2390},{"class":638,"line":302},[2391],{"type":606,"tag":636,"props":2392,"children":2393},{"style":651},[2394],{"type":612,"value":2395},"*.pyc\n",{"type":606,"tag":636,"props":2397,"children":2398},{"class":638,"line":311},[2399],{"type":606,"tag":636,"props":2400,"children":2401},{"style":651},[2402],{"type":612,"value":2403},"*.pyo\n",{"type":606,"tag":636,"props":2405,"children":2406},{"class":638,"line":320},[2407],{"type":606,"tag":636,"props":2408,"children":2409},{"style":651},[2410],{"type":612,"value":2411},"*.pyd\n",{"type":606,"tag":636,"props":2413,"children":2414},{"class":638,"line":329},[2415],{"type":606,"tag":636,"props":2416,"children":2417},{"style":651},[2418],{"type":612,"value":2419},".Python\n",{"type":606,"tag":636,"props":2421,"children":2422},{"class":638,"line":338},[2423],{"type":606,"tag":636,"props":2424,"children":2425},{"style":651},[2426],{"type":612,"value":2427},"build/\n",{"type":606,"tag":636,"props":2429,"children":2430},{"class":638,"line":347},[2431],{"type":606,"tag":636,"props":2432,"children":2433},{"style":651},[2434],{"type":612,"value":2435},"develop-eggs/\n",{"type":606,"tag":636,"props":2437,"children":2438},{"class":638,"line":356},[2439],{"type":606,"tag":636,"props":2440,"children":2441},{"style":651},[2442],{"type":612,"value":2443},"dist/\n",{"type":606,"tag":636,"props":2445,"children":2446},{"class":638,"line":367},[2447],{"type":606,"tag":636,"props":2448,"children":2449},{"style":651},[2450],{"type":612,"value":2451},"downloads/\n",{"type":606,"tag":636,"props":2453,"children":2454},{"class":638,"line":376},[2455],{"type":606,"tag":636,"props":2456,"children":2457},{"style":651},[2458],{"type":612,"value":2459},"eggs/\n",{"type":606,"tag":636,"props":2461,"children":2462},{"class":638,"line":385},[2463],{"type":606,"tag":636,"props":2464,"children":2465},{"style":651},[2466],{"type":612,"value":2467},".eggs/\n",{"type":606,"tag":636,"props":2469,"children":2470},{"class":638,"line":394},[2471],{"type":606,"tag":636,"props":2472,"children":2473},{"style":651},[2474],{"type":612,"value":2475},"lib/\n",{"type":606,"tag":636,"props":2477,"children":2478},{"class":638,"line":403},[2479],{"type":606,"tag":636,"props":2480,"children":2481},{"style":651},[2482],{"type":612,"value":2483},"lib64/\n",{"type":606,"tag":636,"props":2485,"children":2486},{"class":638,"line":412},[2487],{"type":606,"tag":636,"props":2488,"children":2489},{"style":651},[2490],{"type":612,"value":2491},"parts/\n",{"type":606,"tag":636,"props":2493,"children":2494},{"class":638,"line":423},[2495],{"type":606,"tag":636,"props":2496,"children":2497},{"style":651},[2498],{"type":612,"value":2499},"sdist/\n",{"type":606,"tag":636,"props":2501,"children":2502},{"class":638,"line":432},[2503],{"type":606,"tag":636,"props":2504,"children":2505},{"style":651},[2506],{"type":612,"value":2507},"var/\n",{"type":606,"tag":636,"props":2509,"children":2510},{"class":638,"line":441},[2511],{"type":606,"tag":636,"props":2512,"children":2513},{"style":651},[2514],{"type":612,"value":2515},"wheels/\n",{"type":606,"tag":636,"props":2517,"children":2518},{"class":638,"line":450},[2519],{"type":606,"tag":636,"props":2520,"children":2521},{"style":651},[2522],{"type":612,"value":2523},"*.egg-info/\n",{"type":606,"tag":636,"props":2525,"children":2526},{"class":638,"line":459},[2527],{"type":606,"tag":636,"props":2528,"children":2529},{"style":651},[2530],{"type":612,"value":2531},".installed.cfg\n",{"type":606,"tag":636,"props":2533,"children":2534},{"class":638,"line":468},[2535],{"type":606,"tag":636,"props":2536,"children":2537},{"style":651},[2538],{"type":612,"value":2539},"*.egg\n",{"type":606,"tag":636,"props":2541,"children":2542},{"class":638,"line":477},[2543],{"type":606,"tag":636,"props":2544,"children":2545},{"style":651},[2546],{"type":612,"value":654},{"type":606,"tag":636,"props":2548,"children":2549},{"class":638,"line":488},[2550],{"type":606,"tag":636,"props":2551,"children":2552},{"emptyLinePlaceholder":13},[2553],{"type":612,"value":686},{"type":606,"tag":636,"props":2555,"children":2556},{"class":638,"line":497},[2557,2561,2565,2569,2574,2579],{"type":606,"tag":636,"props":2558,"children":2559},{"style":796},[2560],{"type":612,"value":799},{"type":606,"tag":636,"props":2562,"children":2563},{"style":768},[2564],{"type":612,"value":804},{"type":606,"tag":636,"props":2566,"children":2567},{"style":651},[2568],{"type":612,"value":834},{"type":606,"tag":636,"props":2570,"children":2571},{"style":796},[2572],{"type":612,"value":2573},"\\n",{"type":606,"tag":636,"props":2575,"children":2576},{"style":651},[2577],{"type":612,"value":2578},"Example .gitignore for Python:\"",{"type":606,"tag":636,"props":2580,"children":2581},{"style":768},[2582],{"type":612,"value":839},{"type":606,"tag":636,"props":2584,"children":2585},{"class":638,"line":506},[2586,2590,2595,2600,2605,2610,2615],{"type":606,"tag":636,"props":2587,"children":2588},{"style":796},[2589],{"type":612,"value":799},{"type":606,"tag":636,"props":2591,"children":2592},{"style":768},[2593],{"type":612,"value":2594},"(gitignore_content[:",{"type":606,"tag":636,"props":2596,"children":2597},{"style":796},[2598],{"type":612,"value":2599},"200",{"type":606,"tag":636,"props":2601,"children":2602},{"style":768},[2603],{"type":612,"value":2604},"] ",{"type":606,"tag":636,"props":2606,"children":2607},{"style":762},[2608],{"type":612,"value":2609},"+",{"type":606,"tag":636,"props":2611,"children":2612},{"style":651},[2613],{"type":612,"value":2614}," \"...\"",{"type":606,"tag":636,"props":2616,"children":2617},{"style":768},[2618],{"type":612,"value":839},{"type":606,"tag":1008,"props":2620,"children":2622},{"id":2621},"virtual-environment-best-practices",[2623],{"type":612,"value":2624},"🚀 Virtual Environment Best Practices",{"type":606,"tag":1306,"props":2626,"children":2628},{"id":2627},"environment-naming-and-management",[2629],{"type":612,"value":2630},"Environment Naming and Management",{"type":606,"tag":621,"props":2632,"children":2633},{},[2634],{"type":606,"tag":625,"props":2635,"children":2637},{"className":627,"code":2636,"language":629,"meta":8,"style":8},"# Virtual environment naming strategies\nnaming_examples = {\n    \"project_based\": \"myproject_env\",\n    \"version_based\": \"python39_env\", \n    \"purpose_based\": \"data_analysis_env\",\n    \"client_based\": \"client_webapp_env\"\n}\n\n# Multiple environments for different purposes\nenvironments_structure = \"\"\"\n~/environments/\n├── web_development/        # Django/Flask projects\n├── data_science/          # Pandas/NumPy/Jupyter\n├── machine_learning/      # TensorFlow/PyTorch\n└── testing/              # Pytest/Coverage tools\n\"\"\"\n\nprint(\"Environment naming examples:\")\nfor strategy, example in naming_examples.items():\n    print(f\"  {strategy}: {example}\")\n\nprint(\"\\nMultiple environments structure:\")\nprint(environments_structure)\n",[2638],{"type":606,"tag":632,"props":2639,"children":2640},{"__ignoreMap":8},[2641,2649,2666,2689,2711,2732,2749,2757,2764,2772,2788,2796,2804,2812,2820,2828,2835,2842,2862,2885,2943,2950,2978],{"type":606,"tag":636,"props":2642,"children":2643},{"class":638,"line":12},[2644],{"type":606,"tag":636,"props":2645,"children":2646},{"style":642},[2647],{"type":612,"value":2648},"# Virtual environment naming strategies\n",{"type":606,"tag":636,"props":2650,"children":2651},{"class":638,"line":27},[2652,2657,2661],{"type":606,"tag":636,"props":2653,"children":2654},{"style":768},[2655],{"type":612,"value":2656},"naming_examples ",{"type":606,"tag":636,"props":2658,"children":2659},{"style":762},[2660],{"type":612,"value":1592},{"type":606,"tag":636,"props":2662,"children":2663},{"style":768},[2664],{"type":612,"value":2665}," {\n",{"type":606,"tag":636,"props":2667,"children":2668},{"class":638,"line":36},[2669,2674,2679,2684],{"type":606,"tag":636,"props":2670,"children":2671},{"style":651},[2672],{"type":612,"value":2673},"    \"project_based\"",{"type":606,"tag":636,"props":2675,"children":2676},{"style":768},[2677],{"type":612,"value":2678},": ",{"type":606,"tag":636,"props":2680,"children":2681},{"style":651},[2682],{"type":612,"value":2683},"\"myproject_env\"",{"type":606,"tag":636,"props":2685,"children":2686},{"style":768},[2687],{"type":612,"value":2688},",\n",{"type":606,"tag":636,"props":2690,"children":2691},{"class":638,"line":45},[2692,2697,2701,2706],{"type":606,"tag":636,"props":2693,"children":2694},{"style":651},[2695],{"type":612,"value":2696},"    \"version_based\"",{"type":606,"tag":636,"props":2698,"children":2699},{"style":768},[2700],{"type":612,"value":2678},{"type":606,"tag":636,"props":2702,"children":2703},{"style":651},[2704],{"type":612,"value":2705},"\"python39_env\"",{"type":606,"tag":636,"props":2707,"children":2708},{"style":768},[2709],{"type":612,"value":2710},", \n",{"type":606,"tag":636,"props":2712,"children":2713},{"class":638,"line":54},[2714,2719,2723,2728],{"type":606,"tag":636,"props":2715,"children":2716},{"style":651},[2717],{"type":612,"value":2718},"    \"purpose_based\"",{"type":606,"tag":636,"props":2720,"children":2721},{"style":768},[2722],{"type":612,"value":2678},{"type":606,"tag":636,"props":2724,"children":2725},{"style":651},[2726],{"type":612,"value":2727},"\"data_analysis_env\"",{"type":606,"tag":636,"props":2729,"children":2730},{"style":768},[2731],{"type":612,"value":2688},{"type":606,"tag":636,"props":2733,"children":2734},{"class":638,"line":63},[2735,2740,2744],{"type":606,"tag":636,"props":2736,"children":2737},{"style":651},[2738],{"type":612,"value":2739},"    \"client_based\"",{"type":606,"tag":636,"props":2741,"children":2742},{"style":768},[2743],{"type":612,"value":2678},{"type":606,"tag":636,"props":2745,"children":2746},{"style":651},[2747],{"type":612,"value":2748},"\"client_webapp_env\"\n",{"type":606,"tag":636,"props":2750,"children":2751},{"class":638,"line":72},[2752],{"type":606,"tag":636,"props":2753,"children":2754},{"style":768},[2755],{"type":612,"value":2756},"}\n",{"type":606,"tag":636,"props":2758,"children":2759},{"class":638,"line":81},[2760],{"type":606,"tag":636,"props":2761,"children":2762},{"emptyLinePlaceholder":13},[2763],{"type":612,"value":686},{"type":606,"tag":636,"props":2765,"children":2766},{"class":638,"line":705},[2767],{"type":606,"tag":636,"props":2768,"children":2769},{"style":642},[2770],{"type":612,"value":2771},"# Multiple environments for different purposes\n",{"type":606,"tag":636,"props":2773,"children":2774},{"class":638,"line":99},[2775,2780,2784],{"type":606,"tag":636,"props":2776,"children":2777},{"style":768},[2778],{"type":612,"value":2779},"environments_structure ",{"type":606,"tag":636,"props":2781,"children":2782},{"style":762},[2783],{"type":612,"value":1592},{"type":606,"tag":636,"props":2785,"children":2786},{"style":651},[2787],{"type":612,"value":1834},{"type":606,"tag":636,"props":2789,"children":2790},{"class":638,"line":108},[2791],{"type":606,"tag":636,"props":2792,"children":2793},{"style":651},[2794],{"type":612,"value":2795},"~/environments/\n",{"type":606,"tag":636,"props":2797,"children":2798},{"class":638,"line":117},[2799],{"type":606,"tag":636,"props":2800,"children":2801},{"style":651},[2802],{"type":612,"value":2803},"├── web_development/        # Django/Flask projects\n",{"type":606,"tag":636,"props":2805,"children":2806},{"class":638,"line":126},[2807],{"type":606,"tag":636,"props":2808,"children":2809},{"style":651},[2810],{"type":612,"value":2811},"├── data_science/          # Pandas/NumPy/Jupyter\n",{"type":606,"tag":636,"props":2813,"children":2814},{"class":638,"line":135},[2815],{"type":606,"tag":636,"props":2816,"children":2817},{"style":651},[2818],{"type":612,"value":2819},"├── machine_learning/      # TensorFlow/PyTorch\n",{"type":606,"tag":636,"props":2821,"children":2822},{"class":638,"line":144},[2823],{"type":606,"tag":636,"props":2824,"children":2825},{"style":651},[2826],{"type":612,"value":2827},"└── testing/              # Pytest/Coverage tools\n",{"type":606,"tag":636,"props":2829,"children":2830},{"class":638,"line":153},[2831],{"type":606,"tag":636,"props":2832,"children":2833},{"style":651},[2834],{"type":612,"value":654},{"type":606,"tag":636,"props":2836,"children":2837},{"class":638,"line":163},[2838],{"type":606,"tag":636,"props":2839,"children":2840},{"emptyLinePlaceholder":13},[2841],{"type":612,"value":686},{"type":606,"tag":636,"props":2843,"children":2844},{"class":638,"line":172},[2845,2849,2853,2858],{"type":606,"tag":636,"props":2846,"children":2847},{"style":796},[2848],{"type":612,"value":799},{"type":606,"tag":636,"props":2850,"children":2851},{"style":768},[2852],{"type":612,"value":804},{"type":606,"tag":636,"props":2854,"children":2855},{"style":651},[2856],{"type":612,"value":2857},"\"Environment naming examples:\"",{"type":606,"tag":636,"props":2859,"children":2860},{"style":768},[2861],{"type":612,"value":839},{"type":606,"tag":636,"props":2863,"children":2864},{"class":638,"line":181},[2865,2870,2875,2880],{"type":606,"tag":636,"props":2866,"children":2867},{"style":762},[2868],{"type":612,"value":2869},"for",{"type":606,"tag":636,"props":2871,"children":2872},{"style":768},[2873],{"type":612,"value":2874}," strategy, example ",{"type":606,"tag":636,"props":2876,"children":2877},{"style":762},[2878],{"type":612,"value":2879},"in",{"type":606,"tag":636,"props":2881,"children":2882},{"style":768},[2883],{"type":612,"value":2884}," naming_examples.items():\n",{"type":606,"tag":636,"props":2886,"children":2887},{"class":638,"line":190},[2888,2892,2896,2900,2905,2909,2914,2918,2922,2926,2931,2935,2939],{"type":606,"tag":636,"props":2889,"children":2890},{"style":796},[2891],{"type":612,"value":972},{"type":606,"tag":636,"props":2893,"children":2894},{"style":768},[2895],{"type":612,"value":804},{"type":606,"tag":636,"props":2897,"children":2898},{"style":762},[2899],{"type":612,"value":809},{"type":606,"tag":636,"props":2901,"children":2902},{"style":651},[2903],{"type":612,"value":2904},"\"  ",{"type":606,"tag":636,"props":2906,"children":2907},{"style":796},[2908],{"type":612,"value":819},{"type":606,"tag":636,"props":2910,"children":2911},{"style":768},[2912],{"type":612,"value":2913},"strategy",{"type":606,"tag":636,"props":2915,"children":2916},{"style":796},[2917],{"type":612,"value":829},{"type":606,"tag":636,"props":2919,"children":2920},{"style":651},[2921],{"type":612,"value":2678},{"type":606,"tag":636,"props":2923,"children":2924},{"style":796},[2925],{"type":612,"value":819},{"type":606,"tag":636,"props":2927,"children":2928},{"style":768},[2929],{"type":612,"value":2930},"example",{"type":606,"tag":636,"props":2932,"children":2933},{"style":796},[2934],{"type":612,"value":829},{"type":606,"tag":636,"props":2936,"children":2937},{"style":651},[2938],{"type":612,"value":834},{"type":606,"tag":636,"props":2940,"children":2941},{"style":768},[2942],{"type":612,"value":839},{"type":606,"tag":636,"props":2944,"children":2945},{"class":638,"line":199},[2946],{"type":606,"tag":636,"props":2947,"children":2948},{"emptyLinePlaceholder":13},[2949],{"type":612,"value":686},{"type":606,"tag":636,"props":2951,"children":2952},{"class":638,"line":208},[2953,2957,2961,2965,2969,2974],{"type":606,"tag":636,"props":2954,"children":2955},{"style":796},[2956],{"type":612,"value":799},{"type":606,"tag":636,"props":2958,"children":2959},{"style":768},[2960],{"type":612,"value":804},{"type":606,"tag":636,"props":2962,"children":2963},{"style":651},[2964],{"type":612,"value":834},{"type":606,"tag":636,"props":2966,"children":2967},{"style":796},[2968],{"type":612,"value":2573},{"type":606,"tag":636,"props":2970,"children":2971},{"style":651},[2972],{"type":612,"value":2973},"Multiple environments structure:\"",{"type":606,"tag":636,"props":2975,"children":2976},{"style":768},[2977],{"type":612,"value":839},{"type":606,"tag":636,"props":2979,"children":2980},{"class":638,"line":217},[2981,2985],{"type":606,"tag":636,"props":2982,"children":2983},{"style":796},[2984],{"type":612,"value":799},{"type":606,"tag":636,"props":2986,"children":2987},{"style":768},[2988],{"type":612,"value":2989},"(environments_structure)\n",{"type":606,"tag":1306,"props":2991,"children":2993},{"id":2992},"package-management",[2994],{"type":612,"value":2995},"Package Management",{"type":606,"tag":621,"props":2997,"children":2998},{},[2999],{"type":606,"tag":625,"props":3000,"children":3002},{"className":627,"code":3001,"language":629,"meta":8,"style":8},"# Package management workflow\ndef demonstrate_package_workflow():\n    workflow_steps = [\n        \"1. Create virtual environment\",\n        \"2. Activate environment\", \n        \"3. Install core packages first\",\n        \"4. Test your code\",\n        \"5. Add more packages as needed\",\n        \"6. Update requirements.txt regularly\",\n        \"7. Use specific versions for production\"\n    ]\n    \n    return workflow_steps\n\n# Package installation strategies\ninstallation_strategies = {\n    \"development\": [\n        \"pip install package_name\",  # Latest version\n        \"Test and develop\",\n        \"pip freeze > requirements.txt\"  # Save working versions\n    ],\n    \"production\": [\n        \"pip install -r requirements.txt\",  # Exact versions\n        \"pip install --no-deps package\",    # Skip dependencies if needed\n        \"pip check\"  # Verify no conflicts\n    ]\n}\n\nprint(\"Package management workflow:\")\nfor step in demonstrate_package_workflow():\n    print(f\"  {step}\")\n\nprint(\"\\nInstallation strategies:\")\nfor env_type, strategy in installation_strategies.items():\n    print(f\"\\n{env_type.title()}:\")\n    for step in strategy:\n        print(f\"  - {step}\")\n",[3003],{"type":606,"tag":632,"props":3004,"children":3005},{"__ignoreMap":8},[3006,3014,3030,3047,3059,3071,3083,3095,3107,3119,3127,3135,3142,3155,3162,3170,3186,3199,3217,3229,3242,3250,3262,3279,3297,3310,3317,3324,3331,3351,3372,3412,3419,3447,3468,3510,3531],{"type":606,"tag":636,"props":3007,"children":3008},{"class":638,"line":12},[3009],{"type":606,"tag":636,"props":3010,"children":3011},{"style":642},[3012],{"type":612,"value":3013},"# Package management workflow\n",{"type":606,"tag":636,"props":3015,"children":3016},{"class":638,"line":27},[3017,3021,3026],{"type":606,"tag":636,"props":3018,"children":3019},{"style":762},[3020],{"type":612,"value":1560},{"type":606,"tag":636,"props":3022,"children":3023},{"style":1563},[3024],{"type":612,"value":3025}," demonstrate_package_workflow",{"type":606,"tag":636,"props":3027,"children":3028},{"style":768},[3029],{"type":612,"value":1571},{"type":606,"tag":636,"props":3031,"children":3032},{"class":638,"line":36},[3033,3038,3042],{"type":606,"tag":636,"props":3034,"children":3035},{"style":768},[3036],{"type":612,"value":3037},"    workflow_steps ",{"type":606,"tag":636,"props":3039,"children":3040},{"style":762},[3041],{"type":612,"value":1592},{"type":606,"tag":636,"props":3043,"children":3044},{"style":768},[3045],{"type":612,"value":3046}," [\n",{"type":606,"tag":636,"props":3048,"children":3049},{"class":638,"line":45},[3050,3055],{"type":606,"tag":636,"props":3051,"children":3052},{"style":651},[3053],{"type":612,"value":3054},"        \"1. Create virtual environment\"",{"type":606,"tag":636,"props":3056,"children":3057},{"style":768},[3058],{"type":612,"value":2688},{"type":606,"tag":636,"props":3060,"children":3061},{"class":638,"line":54},[3062,3067],{"type":606,"tag":636,"props":3063,"children":3064},{"style":651},[3065],{"type":612,"value":3066},"        \"2. Activate environment\"",{"type":606,"tag":636,"props":3068,"children":3069},{"style":768},[3070],{"type":612,"value":2710},{"type":606,"tag":636,"props":3072,"children":3073},{"class":638,"line":63},[3074,3079],{"type":606,"tag":636,"props":3075,"children":3076},{"style":651},[3077],{"type":612,"value":3078},"        \"3. Install core packages first\"",{"type":606,"tag":636,"props":3080,"children":3081},{"style":768},[3082],{"type":612,"value":2688},{"type":606,"tag":636,"props":3084,"children":3085},{"class":638,"line":72},[3086,3091],{"type":606,"tag":636,"props":3087,"children":3088},{"style":651},[3089],{"type":612,"value":3090},"        \"4. Test your code\"",{"type":606,"tag":636,"props":3092,"children":3093},{"style":768},[3094],{"type":612,"value":2688},{"type":606,"tag":636,"props":3096,"children":3097},{"class":638,"line":81},[3098,3103],{"type":606,"tag":636,"props":3099,"children":3100},{"style":651},[3101],{"type":612,"value":3102},"        \"5. Add more packages as needed\"",{"type":606,"tag":636,"props":3104,"children":3105},{"style":768},[3106],{"type":612,"value":2688},{"type":606,"tag":636,"props":3108,"children":3109},{"class":638,"line":705},[3110,3115],{"type":606,"tag":636,"props":3111,"children":3112},{"style":651},[3113],{"type":612,"value":3114},"        \"6. Update requirements.txt regularly\"",{"type":606,"tag":636,"props":3116,"children":3117},{"style":768},[3118],{"type":612,"value":2688},{"type":606,"tag":636,"props":3120,"children":3121},{"class":638,"line":99},[3122],{"type":606,"tag":636,"props":3123,"children":3124},{"style":651},[3125],{"type":612,"value":3126},"        \"7. Use specific versions for production\"\n",{"type":606,"tag":636,"props":3128,"children":3129},{"class":638,"line":108},[3130],{"type":606,"tag":636,"props":3131,"children":3132},{"style":768},[3133],{"type":612,"value":3134},"    ]\n",{"type":606,"tag":636,"props":3136,"children":3137},{"class":638,"line":117},[3138],{"type":606,"tag":636,"props":3139,"children":3140},{"style":768},[3141],{"type":612,"value":1677},{"type":606,"tag":636,"props":3143,"children":3144},{"class":638,"line":126},[3145,3150],{"type":606,"tag":636,"props":3146,"children":3147},{"style":762},[3148],{"type":612,"value":3149},"    return",{"type":606,"tag":636,"props":3151,"children":3152},{"style":768},[3153],{"type":612,"value":3154}," workflow_steps\n",{"type":606,"tag":636,"props":3156,"children":3157},{"class":638,"line":135},[3158],{"type":606,"tag":636,"props":3159,"children":3160},{"emptyLinePlaceholder":13},[3161],{"type":612,"value":686},{"type":606,"tag":636,"props":3163,"children":3164},{"class":638,"line":144},[3165],{"type":606,"tag":636,"props":3166,"children":3167},{"style":642},[3168],{"type":612,"value":3169},"# Package installation strategies\n",{"type":606,"tag":636,"props":3171,"children":3172},{"class":638,"line":153},[3173,3178,3182],{"type":606,"tag":636,"props":3174,"children":3175},{"style":768},[3176],{"type":612,"value":3177},"installation_strategies ",{"type":606,"tag":636,"props":3179,"children":3180},{"style":762},[3181],{"type":612,"value":1592},{"type":606,"tag":636,"props":3183,"children":3184},{"style":768},[3185],{"type":612,"value":2665},{"type":606,"tag":636,"props":3187,"children":3188},{"class":638,"line":163},[3189,3194],{"type":606,"tag":636,"props":3190,"children":3191},{"style":651},[3192],{"type":612,"value":3193},"    \"development\"",{"type":606,"tag":636,"props":3195,"children":3196},{"style":768},[3197],{"type":612,"value":3198},": [\n",{"type":606,"tag":636,"props":3200,"children":3201},{"class":638,"line":172},[3202,3207,3212],{"type":606,"tag":636,"props":3203,"children":3204},{"style":651},[3205],{"type":612,"value":3206},"        \"pip install package_name\"",{"type":606,"tag":636,"props":3208,"children":3209},{"style":768},[3210],{"type":612,"value":3211},",  ",{"type":606,"tag":636,"props":3213,"children":3214},{"style":642},[3215],{"type":612,"value":3216},"# Latest version\n",{"type":606,"tag":636,"props":3218,"children":3219},{"class":638,"line":181},[3220,3225],{"type":606,"tag":636,"props":3221,"children":3222},{"style":651},[3223],{"type":612,"value":3224},"        \"Test and develop\"",{"type":606,"tag":636,"props":3226,"children":3227},{"style":768},[3228],{"type":612,"value":2688},{"type":606,"tag":636,"props":3230,"children":3231},{"class":638,"line":190},[3232,3237],{"type":606,"tag":636,"props":3233,"children":3234},{"style":651},[3235],{"type":612,"value":3236},"        \"pip freeze > requirements.txt\"",{"type":606,"tag":636,"props":3238,"children":3239},{"style":642},[3240],{"type":612,"value":3241},"  # Save working versions\n",{"type":606,"tag":636,"props":3243,"children":3244},{"class":638,"line":199},[3245],{"type":606,"tag":636,"props":3246,"children":3247},{"style":768},[3248],{"type":612,"value":3249},"    ],\n",{"type":606,"tag":636,"props":3251,"children":3252},{"class":638,"line":208},[3253,3258],{"type":606,"tag":636,"props":3254,"children":3255},{"style":651},[3256],{"type":612,"value":3257},"    \"production\"",{"type":606,"tag":636,"props":3259,"children":3260},{"style":768},[3261],{"type":612,"value":3198},{"type":606,"tag":636,"props":3263,"children":3264},{"class":638,"line":217},[3265,3270,3274],{"type":606,"tag":636,"props":3266,"children":3267},{"style":651},[3268],{"type":612,"value":3269},"        \"pip install -r requirements.txt\"",{"type":606,"tag":636,"props":3271,"children":3272},{"style":768},[3273],{"type":612,"value":3211},{"type":606,"tag":636,"props":3275,"children":3276},{"style":642},[3277],{"type":612,"value":3278},"# Exact versions\n",{"type":606,"tag":636,"props":3280,"children":3281},{"class":638,"line":227},[3282,3287,3292],{"type":606,"tag":636,"props":3283,"children":3284},{"style":651},[3285],{"type":612,"value":3286},"        \"pip install --no-deps package\"",{"type":606,"tag":636,"props":3288,"children":3289},{"style":768},[3290],{"type":612,"value":3291},",    ",{"type":606,"tag":636,"props":3293,"children":3294},{"style":642},[3295],{"type":612,"value":3296},"# Skip dependencies if needed\n",{"type":606,"tag":636,"props":3298,"children":3299},{"class":638,"line":236},[3300,3305],{"type":606,"tag":636,"props":3301,"children":3302},{"style":651},[3303],{"type":612,"value":3304},"        \"pip check\"",{"type":606,"tag":636,"props":3306,"children":3307},{"style":642},[3308],{"type":612,"value":3309},"  # Verify no conflicts\n",{"type":606,"tag":636,"props":3311,"children":3312},{"class":638,"line":245},[3313],{"type":606,"tag":636,"props":3314,"children":3315},{"style":768},[3316],{"type":612,"value":3134},{"type":606,"tag":636,"props":3318,"children":3319},{"class":638,"line":254},[3320],{"type":606,"tag":636,"props":3321,"children":3322},{"style":768},[3323],{"type":612,"value":2756},{"type":606,"tag":636,"props":3325,"children":3326},{"class":638,"line":263},[3327],{"type":606,"tag":636,"props":3328,"children":3329},{"emptyLinePlaceholder":13},[3330],{"type":612,"value":686},{"type":606,"tag":636,"props":3332,"children":3333},{"class":638,"line":272},[3334,3338,3342,3347],{"type":606,"tag":636,"props":3335,"children":3336},{"style":796},[3337],{"type":612,"value":799},{"type":606,"tag":636,"props":3339,"children":3340},{"style":768},[3341],{"type":612,"value":804},{"type":606,"tag":636,"props":3343,"children":3344},{"style":651},[3345],{"type":612,"value":3346},"\"Package management workflow:\"",{"type":606,"tag":636,"props":3348,"children":3349},{"style":768},[3350],{"type":612,"value":839},{"type":606,"tag":636,"props":3352,"children":3353},{"class":638,"line":281},[3354,3358,3363,3367],{"type":606,"tag":636,"props":3355,"children":3356},{"style":762},[3357],{"type":612,"value":2869},{"type":606,"tag":636,"props":3359,"children":3360},{"style":768},[3361],{"type":612,"value":3362}," step ",{"type":606,"tag":636,"props":3364,"children":3365},{"style":762},[3366],{"type":612,"value":2879},{"type":606,"tag":636,"props":3368,"children":3369},{"style":768},[3370],{"type":612,"value":3371}," demonstrate_package_workflow():\n",{"type":606,"tag":636,"props":3373,"children":3374},{"class":638,"line":291},[3375,3379,3383,3387,3391,3395,3400,3404,3408],{"type":606,"tag":636,"props":3376,"children":3377},{"style":796},[3378],{"type":612,"value":972},{"type":606,"tag":636,"props":3380,"children":3381},{"style":768},[3382],{"type":612,"value":804},{"type":606,"tag":636,"props":3384,"children":3385},{"style":762},[3386],{"type":612,"value":809},{"type":606,"tag":636,"props":3388,"children":3389},{"style":651},[3390],{"type":612,"value":2904},{"type":606,"tag":636,"props":3392,"children":3393},{"style":796},[3394],{"type":612,"value":819},{"type":606,"tag":636,"props":3396,"children":3397},{"style":768},[3398],{"type":612,"value":3399},"step",{"type":606,"tag":636,"props":3401,"children":3402},{"style":796},[3403],{"type":612,"value":829},{"type":606,"tag":636,"props":3405,"children":3406},{"style":651},[3407],{"type":612,"value":834},{"type":606,"tag":636,"props":3409,"children":3410},{"style":768},[3411],{"type":612,"value":839},{"type":606,"tag":636,"props":3413,"children":3414},{"class":638,"line":302},[3415],{"type":606,"tag":636,"props":3416,"children":3417},{"emptyLinePlaceholder":13},[3418],{"type":612,"value":686},{"type":606,"tag":636,"props":3420,"children":3421},{"class":638,"line":311},[3422,3426,3430,3434,3438,3443],{"type":606,"tag":636,"props":3423,"children":3424},{"style":796},[3425],{"type":612,"value":799},{"type":606,"tag":636,"props":3427,"children":3428},{"style":768},[3429],{"type":612,"value":804},{"type":606,"tag":636,"props":3431,"children":3432},{"style":651},[3433],{"type":612,"value":834},{"type":606,"tag":636,"props":3435,"children":3436},{"style":796},[3437],{"type":612,"value":2573},{"type":606,"tag":636,"props":3439,"children":3440},{"style":651},[3441],{"type":612,"value":3442},"Installation strategies:\"",{"type":606,"tag":636,"props":3444,"children":3445},{"style":768},[3446],{"type":612,"value":839},{"type":606,"tag":636,"props":3448,"children":3449},{"class":638,"line":320},[3450,3454,3459,3463],{"type":606,"tag":636,"props":3451,"children":3452},{"style":762},[3453],{"type":612,"value":2869},{"type":606,"tag":636,"props":3455,"children":3456},{"style":768},[3457],{"type":612,"value":3458}," env_type, strategy ",{"type":606,"tag":636,"props":3460,"children":3461},{"style":762},[3462],{"type":612,"value":2879},{"type":606,"tag":636,"props":3464,"children":3465},{"style":768},[3466],{"type":612,"value":3467}," installation_strategies.items():\n",{"type":606,"tag":636,"props":3469,"children":3470},{"class":638,"line":329},[3471,3475,3479,3483,3487,3492,3497,3501,3506],{"type":606,"tag":636,"props":3472,"children":3473},{"style":796},[3474],{"type":612,"value":972},{"type":606,"tag":636,"props":3476,"children":3477},{"style":768},[3478],{"type":612,"value":804},{"type":606,"tag":636,"props":3480,"children":3481},{"style":762},[3482],{"type":612,"value":809},{"type":606,"tag":636,"props":3484,"children":3485},{"style":651},[3486],{"type":612,"value":834},{"type":606,"tag":636,"props":3488,"children":3489},{"style":796},[3490],{"type":612,"value":3491},"\\n{",{"type":606,"tag":636,"props":3493,"children":3494},{"style":768},[3495],{"type":612,"value":3496},"env_type.title()",{"type":606,"tag":636,"props":3498,"children":3499},{"style":796},[3500],{"type":612,"value":829},{"type":606,"tag":636,"props":3502,"children":3503},{"style":651},[3504],{"type":612,"value":3505},":\"",{"type":606,"tag":636,"props":3507,"children":3508},{"style":768},[3509],{"type":612,"value":839},{"type":606,"tag":636,"props":3511,"children":3512},{"class":638,"line":338},[3513,3518,3522,3526],{"type":606,"tag":636,"props":3514,"children":3515},{"style":762},[3516],{"type":612,"value":3517},"    for",{"type":606,"tag":636,"props":3519,"children":3520},{"style":768},[3521],{"type":612,"value":3362},{"type":606,"tag":636,"props":3523,"children":3524},{"style":762},[3525],{"type":612,"value":2879},{"type":606,"tag":636,"props":3527,"children":3528},{"style":768},[3529],{"type":612,"value":3530}," strategy:\n",{"type":606,"tag":636,"props":3532,"children":3533},{"class":638,"line":347},[3534,3539,3543,3547,3552,3556,3560,3564,3568],{"type":606,"tag":636,"props":3535,"children":3536},{"style":796},[3537],{"type":612,"value":3538},"        print",{"type":606,"tag":636,"props":3540,"children":3541},{"style":768},[3542],{"type":612,"value":804},{"type":606,"tag":636,"props":3544,"children":3545},{"style":762},[3546],{"type":612,"value":809},{"type":606,"tag":636,"props":3548,"children":3549},{"style":651},[3550],{"type":612,"value":3551},"\"  - ",{"type":606,"tag":636,"props":3553,"children":3554},{"style":796},[3555],{"type":612,"value":819},{"type":606,"tag":636,"props":3557,"children":3558},{"style":768},[3559],{"type":612,"value":3399},{"type":606,"tag":636,"props":3561,"children":3562},{"style":796},[3563],{"type":612,"value":829},{"type":606,"tag":636,"props":3565,"children":3566},{"style":651},[3567],{"type":612,"value":834},{"type":606,"tag":636,"props":3569,"children":3570},{"style":768},[3571],{"type":612,"value":839},{"type":606,"tag":1306,"props":3573,"children":3575},{"id":3574},"environment-activation-scripts",[3576],{"type":612,"value":3577},"Environment Activation Scripts",{"type":606,"tag":621,"props":3579,"children":3580},{},[3581],{"type":606,"tag":625,"props":3582,"children":3584},{"className":627,"code":3583,"language":629,"meta":8,"style":8},"# Creating activation shortcuts (examples)\nactivation_scripts = {\n    \"Windows batch file (.bat)\": \"\"\"\n@echo off\ncd /d \"C:\\\\path\\\\to\\\\your\\\\project\"\ncall myproject_env\\\\Scripts\\\\activate\necho Environment activated for MyProject\ncmd /k\n\"\"\",\n    \n    \"Mac/Linux shell script (.sh)\": \"\"\"\n#!/bin/bash\ncd ~/path/to/your/project\nsource myproject_env/bin/activate\necho \"Environment activated for MyProject\"\nexec \"$SHELL\"\n\"\"\",\n    \n    \"Python script\": \"\"\"\nimport subprocess\nimport os\n\ndef activate_project_env():\n    project_path = \"/path/to/project\"\n    env_path = os.path.join(project_path, \"myproject_env\")\n    \n    if os.path.exists(env_path):\n        print(f\"Activating environment: {env_path}\")\n        # Platform-specific activation would go here\n        return True\n    else:\n        print(\"Environment not found!\")\n        return False\n\"\"\"\n}\n\nprint(\"Activation script examples:\")\nfor script_type, content in activation_scripts.items():\n    print(f\"\\n{script_type}:\")\n    print(content[:100] + \"...\" if len(content) > 100 else content)\n",[3585],{"type":606,"tag":632,"props":3586,"children":3587},{"__ignoreMap":8},[3588,3596,3612,3628,3636,3681,3707,3715,3723,3735,3742,3758,3766,3774,3781,3789,3797,3808,3815,3831,3839,3847,3854,3862,3870,3878,3885,3893,3911,3919,3927,3935,3943,3951,3958,3965,3972,3992,4013,4053],{"type":606,"tag":636,"props":3589,"children":3590},{"class":638,"line":12},[3591],{"type":606,"tag":636,"props":3592,"children":3593},{"style":642},[3594],{"type":612,"value":3595},"# Creating activation shortcuts (examples)\n",{"type":606,"tag":636,"props":3597,"children":3598},{"class":638,"line":27},[3599,3604,3608],{"type":606,"tag":636,"props":3600,"children":3601},{"style":768},[3602],{"type":612,"value":3603},"activation_scripts ",{"type":606,"tag":636,"props":3605,"children":3606},{"style":762},[3607],{"type":612,"value":1592},{"type":606,"tag":636,"props":3609,"children":3610},{"style":768},[3611],{"type":612,"value":2665},{"type":606,"tag":636,"props":3613,"children":3614},{"class":638,"line":36},[3615,3620,3624],{"type":606,"tag":636,"props":3616,"children":3617},{"style":651},[3618],{"type":612,"value":3619},"    \"Windows batch file (.bat)\"",{"type":606,"tag":636,"props":3621,"children":3622},{"style":768},[3623],{"type":612,"value":2678},{"type":606,"tag":636,"props":3625,"children":3626},{"style":651},[3627],{"type":612,"value":654},{"type":606,"tag":636,"props":3629,"children":3630},{"class":638,"line":45},[3631],{"type":606,"tag":636,"props":3632,"children":3633},{"style":651},[3634],{"type":612,"value":3635},"@echo off\n",{"type":606,"tag":636,"props":3637,"children":3638},{"class":638,"line":54},[3639,3644,3649,3654,3658,3663,3667,3672,3676],{"type":606,"tag":636,"props":3640,"children":3641},{"style":651},[3642],{"type":612,"value":3643},"cd /d \"C:",{"type":606,"tag":636,"props":3645,"children":3646},{"style":796},[3647],{"type":612,"value":3648},"\\\\",{"type":606,"tag":636,"props":3650,"children":3651},{"style":651},[3652],{"type":612,"value":3653},"path",{"type":606,"tag":636,"props":3655,"children":3656},{"style":796},[3657],{"type":612,"value":3648},{"type":606,"tag":636,"props":3659,"children":3660},{"style":651},[3661],{"type":612,"value":3662},"to",{"type":606,"tag":636,"props":3664,"children":3665},{"style":796},[3666],{"type":612,"value":3648},{"type":606,"tag":636,"props":3668,"children":3669},{"style":651},[3670],{"type":612,"value":3671},"your",{"type":606,"tag":636,"props":3673,"children":3674},{"style":796},[3675],{"type":612,"value":3648},{"type":606,"tag":636,"props":3677,"children":3678},{"style":651},[3679],{"type":612,"value":3680},"project\"\n",{"type":606,"tag":636,"props":3682,"children":3683},{"class":638,"line":63},[3684,3689,3693,3698,3702],{"type":606,"tag":636,"props":3685,"children":3686},{"style":651},[3687],{"type":612,"value":3688},"call myproject_env",{"type":606,"tag":636,"props":3690,"children":3691},{"style":796},[3692],{"type":612,"value":3648},{"type":606,"tag":636,"props":3694,"children":3695},{"style":651},[3696],{"type":612,"value":3697},"Scripts",{"type":606,"tag":636,"props":3699,"children":3700},{"style":796},[3701],{"type":612,"value":3648},{"type":606,"tag":636,"props":3703,"children":3704},{"style":651},[3705],{"type":612,"value":3706},"activate\n",{"type":606,"tag":636,"props":3708,"children":3709},{"class":638,"line":72},[3710],{"type":606,"tag":636,"props":3711,"children":3712},{"style":651},[3713],{"type":612,"value":3714},"echo Environment activated for MyProject\n",{"type":606,"tag":636,"props":3716,"children":3717},{"class":638,"line":81},[3718],{"type":606,"tag":636,"props":3719,"children":3720},{"style":651},[3721],{"type":612,"value":3722},"cmd /k\n",{"type":606,"tag":636,"props":3724,"children":3725},{"class":638,"line":705},[3726,3731],{"type":606,"tag":636,"props":3727,"children":3728},{"style":651},[3729],{"type":612,"value":3730},"\"\"\"",{"type":606,"tag":636,"props":3732,"children":3733},{"style":768},[3734],{"type":612,"value":2688},{"type":606,"tag":636,"props":3736,"children":3737},{"class":638,"line":99},[3738],{"type":606,"tag":636,"props":3739,"children":3740},{"style":768},[3741],{"type":612,"value":1677},{"type":606,"tag":636,"props":3743,"children":3744},{"class":638,"line":108},[3745,3750,3754],{"type":606,"tag":636,"props":3746,"children":3747},{"style":651},[3748],{"type":612,"value":3749},"    \"Mac/Linux shell script (.sh)\"",{"type":606,"tag":636,"props":3751,"children":3752},{"style":768},[3753],{"type":612,"value":2678},{"type":606,"tag":636,"props":3755,"children":3756},{"style":651},[3757],{"type":612,"value":654},{"type":606,"tag":636,"props":3759,"children":3760},{"class":638,"line":117},[3761],{"type":606,"tag":636,"props":3762,"children":3763},{"style":651},[3764],{"type":612,"value":3765},"#!/bin/bash\n",{"type":606,"tag":636,"props":3767,"children":3768},{"class":638,"line":126},[3769],{"type":606,"tag":636,"props":3770,"children":3771},{"style":651},[3772],{"type":612,"value":3773},"cd ~/path/to/your/project\n",{"type":606,"tag":636,"props":3775,"children":3776},{"class":638,"line":135},[3777],{"type":606,"tag":636,"props":3778,"children":3779},{"style":651},[3780],{"type":612,"value":1409},{"type":606,"tag":636,"props":3782,"children":3783},{"class":638,"line":144},[3784],{"type":606,"tag":636,"props":3785,"children":3786},{"style":651},[3787],{"type":612,"value":3788},"echo \"Environment activated for MyProject\"\n",{"type":606,"tag":636,"props":3790,"children":3791},{"class":638,"line":153},[3792],{"type":606,"tag":636,"props":3793,"children":3794},{"style":651},[3795],{"type":612,"value":3796},"exec \"$SHELL\"\n",{"type":606,"tag":636,"props":3798,"children":3799},{"class":638,"line":163},[3800,3804],{"type":606,"tag":636,"props":3801,"children":3802},{"style":651},[3803],{"type":612,"value":3730},{"type":606,"tag":636,"props":3805,"children":3806},{"style":768},[3807],{"type":612,"value":2688},{"type":606,"tag":636,"props":3809,"children":3810},{"class":638,"line":172},[3811],{"type":606,"tag":636,"props":3812,"children":3813},{"style":768},[3814],{"type":612,"value":1677},{"type":606,"tag":636,"props":3816,"children":3817},{"class":638,"line":181},[3818,3823,3827],{"type":606,"tag":636,"props":3819,"children":3820},{"style":651},[3821],{"type":612,"value":3822},"    \"Python script\"",{"type":606,"tag":636,"props":3824,"children":3825},{"style":768},[3826],{"type":612,"value":2678},{"type":606,"tag":636,"props":3828,"children":3829},{"style":651},[3830],{"type":612,"value":654},{"type":606,"tag":636,"props":3832,"children":3833},{"class":638,"line":190},[3834],{"type":606,"tag":636,"props":3835,"children":3836},{"style":651},[3837],{"type":612,"value":3838},"import subprocess\n",{"type":606,"tag":636,"props":3840,"children":3841},{"class":638,"line":199},[3842],{"type":606,"tag":636,"props":3843,"children":3844},{"style":651},[3845],{"type":612,"value":3846},"import os\n",{"type":606,"tag":636,"props":3848,"children":3849},{"class":638,"line":208},[3850],{"type":606,"tag":636,"props":3851,"children":3852},{"emptyLinePlaceholder":13},[3853],{"type":612,"value":686},{"type":606,"tag":636,"props":3855,"children":3856},{"class":638,"line":217},[3857],{"type":606,"tag":636,"props":3858,"children":3859},{"style":651},[3860],{"type":612,"value":3861},"def activate_project_env():\n",{"type":606,"tag":636,"props":3863,"children":3864},{"class":638,"line":227},[3865],{"type":606,"tag":636,"props":3866,"children":3867},{"style":651},[3868],{"type":612,"value":3869},"    project_path = \"/path/to/project\"\n",{"type":606,"tag":636,"props":3871,"children":3872},{"class":638,"line":236},[3873],{"type":606,"tag":636,"props":3874,"children":3875},{"style":651},[3876],{"type":612,"value":3877},"    env_path = os.path.join(project_path, \"myproject_env\")\n",{"type":606,"tag":636,"props":3879,"children":3880},{"class":638,"line":245},[3881],{"type":606,"tag":636,"props":3882,"children":3883},{"style":651},[3884],{"type":612,"value":1677},{"type":606,"tag":636,"props":3886,"children":3887},{"class":638,"line":254},[3888],{"type":606,"tag":636,"props":3889,"children":3890},{"style":651},[3891],{"type":612,"value":3892},"    if os.path.exists(env_path):\n",{"type":606,"tag":636,"props":3894,"children":3895},{"class":638,"line":263},[3896,3901,3906],{"type":606,"tag":636,"props":3897,"children":3898},{"style":651},[3899],{"type":612,"value":3900},"        print(f\"Activating environment: ",{"type":606,"tag":636,"props":3902,"children":3903},{"style":796},[3904],{"type":612,"value":3905},"{env_path}",{"type":606,"tag":636,"props":3907,"children":3908},{"style":651},[3909],{"type":612,"value":3910},"\")\n",{"type":606,"tag":636,"props":3912,"children":3913},{"class":638,"line":272},[3914],{"type":606,"tag":636,"props":3915,"children":3916},{"style":651},[3917],{"type":612,"value":3918},"        # Platform-specific activation would go here\n",{"type":606,"tag":636,"props":3920,"children":3921},{"class":638,"line":281},[3922],{"type":606,"tag":636,"props":3923,"children":3924},{"style":651},[3925],{"type":612,"value":3926},"        return True\n",{"type":606,"tag":636,"props":3928,"children":3929},{"class":638,"line":291},[3930],{"type":606,"tag":636,"props":3931,"children":3932},{"style":651},[3933],{"type":612,"value":3934},"    else:\n",{"type":606,"tag":636,"props":3936,"children":3937},{"class":638,"line":302},[3938],{"type":606,"tag":636,"props":3939,"children":3940},{"style":651},[3941],{"type":612,"value":3942},"        print(\"Environment not found!\")\n",{"type":606,"tag":636,"props":3944,"children":3945},{"class":638,"line":311},[3946],{"type":606,"tag":636,"props":3947,"children":3948},{"style":651},[3949],{"type":612,"value":3950},"        return False\n",{"type":606,"tag":636,"props":3952,"children":3953},{"class":638,"line":320},[3954],{"type":606,"tag":636,"props":3955,"children":3956},{"style":651},[3957],{"type":612,"value":654},{"type":606,"tag":636,"props":3959,"children":3960},{"class":638,"line":329},[3961],{"type":606,"tag":636,"props":3962,"children":3963},{"style":768},[3964],{"type":612,"value":2756},{"type":606,"tag":636,"props":3966,"children":3967},{"class":638,"line":338},[3968],{"type":606,"tag":636,"props":3969,"children":3970},{"emptyLinePlaceholder":13},[3971],{"type":612,"value":686},{"type":606,"tag":636,"props":3973,"children":3974},{"class":638,"line":347},[3975,3979,3983,3988],{"type":606,"tag":636,"props":3976,"children":3977},{"style":796},[3978],{"type":612,"value":799},{"type":606,"tag":636,"props":3980,"children":3981},{"style":768},[3982],{"type":612,"value":804},{"type":606,"tag":636,"props":3984,"children":3985},{"style":651},[3986],{"type":612,"value":3987},"\"Activation script examples:\"",{"type":606,"tag":636,"props":3989,"children":3990},{"style":768},[3991],{"type":612,"value":839},{"type":606,"tag":636,"props":3993,"children":3994},{"class":638,"line":356},[3995,3999,4004,4008],{"type":606,"tag":636,"props":3996,"children":3997},{"style":762},[3998],{"type":612,"value":2869},{"type":606,"tag":636,"props":4000,"children":4001},{"style":768},[4002],{"type":612,"value":4003}," script_type, content ",{"type":606,"tag":636,"props":4005,"children":4006},{"style":762},[4007],{"type":612,"value":2879},{"type":606,"tag":636,"props":4009,"children":4010},{"style":768},[4011],{"type":612,"value":4012}," activation_scripts.items():\n",{"type":606,"tag":636,"props":4014,"children":4015},{"class":638,"line":367},[4016,4020,4024,4028,4032,4036,4041,4045,4049],{"type":606,"tag":636,"props":4017,"children":4018},{"style":796},[4019],{"type":612,"value":972},{"type":606,"tag":636,"props":4021,"children":4022},{"style":768},[4023],{"type":612,"value":804},{"type":606,"tag":636,"props":4025,"children":4026},{"style":762},[4027],{"type":612,"value":809},{"type":606,"tag":636,"props":4029,"children":4030},{"style":651},[4031],{"type":612,"value":834},{"type":606,"tag":636,"props":4033,"children":4034},{"style":796},[4035],{"type":612,"value":3491},{"type":606,"tag":636,"props":4037,"children":4038},{"style":768},[4039],{"type":612,"value":4040},"script_type",{"type":606,"tag":636,"props":4042,"children":4043},{"style":796},[4044],{"type":612,"value":829},{"type":606,"tag":636,"props":4046,"children":4047},{"style":651},[4048],{"type":612,"value":3505},{"type":606,"tag":636,"props":4050,"children":4051},{"style":768},[4052],{"type":612,"value":839},{"type":606,"tag":636,"props":4054,"children":4055},{"class":638,"line":376},[4056,4060,4065,4070,4074,4078,4082,4087,4092,4097,4102,4107,4112],{"type":606,"tag":636,"props":4057,"children":4058},{"style":796},[4059],{"type":612,"value":972},{"type":606,"tag":636,"props":4061,"children":4062},{"style":768},[4063],{"type":612,"value":4064},"(content[:",{"type":606,"tag":636,"props":4066,"children":4067},{"style":796},[4068],{"type":612,"value":4069},"100",{"type":606,"tag":636,"props":4071,"children":4072},{"style":768},[4073],{"type":612,"value":2604},{"type":606,"tag":636,"props":4075,"children":4076},{"style":762},[4077],{"type":612,"value":2609},{"type":606,"tag":636,"props":4079,"children":4080},{"style":651},[4081],{"type":612,"value":2614},{"type":606,"tag":636,"props":4083,"children":4084},{"style":762},[4085],{"type":612,"value":4086}," if",{"type":606,"tag":636,"props":4088,"children":4089},{"style":796},[4090],{"type":612,"value":4091}," len",{"type":606,"tag":636,"props":4093,"children":4094},{"style":768},[4095],{"type":612,"value":4096},"(content) ",{"type":606,"tag":636,"props":4098,"children":4099},{"style":762},[4100],{"type":612,"value":4101},">",{"type":606,"tag":636,"props":4103,"children":4104},{"style":796},[4105],{"type":612,"value":4106}," 100",{"type":606,"tag":636,"props":4108,"children":4109},{"style":762},[4110],{"type":612,"value":4111}," else",{"type":606,"tag":636,"props":4113,"children":4114},{"style":768},[4115],{"type":612,"value":4116}," content)\n",{"type":606,"tag":1008,"props":4118,"children":4120},{"id":4119},"environment-management-tools",[4121],{"type":612,"value":4122},"📊 Environment Management Tools",{"type":606,"tag":1142,"props":4124,"children":4125},{},[4126,4147],{"type":606,"tag":1146,"props":4127,"children":4128},{},[4129],{"type":606,"tag":1150,"props":4130,"children":4131},{},[4132,4137,4142],{"type":606,"tag":1154,"props":4133,"children":4134},{},[4135],{"type":612,"value":4136},"Tool",{"type":606,"tag":1154,"props":4138,"children":4139},{},[4140],{"type":612,"value":4141},"Use Case",{"type":606,"tag":1154,"props":4143,"children":4144},{},[4145],{"type":612,"value":4146},"Commands",{"type":606,"tag":1170,"props":4148,"children":4149},{},[4150,4175,4200,4225,4251],{"type":606,"tag":1150,"props":4151,"children":4152},{},[4153,4161,4166],{"type":606,"tag":1177,"props":4154,"children":4155},{},[4156],{"type":606,"tag":632,"props":4157,"children":4159},{"className":4158},[],[4160],{"type":612,"value":1110},{"type":606,"tag":1177,"props":4162,"children":4163},{},[4164],{"type":612,"value":4165},"Built-in, simple projects",{"type":606,"tag":1177,"props":4167,"children":4168},{},[4169],{"type":606,"tag":632,"props":4170,"children":4172},{"className":4171},[],[4173],{"type":612,"value":4174},"python -m venv env",{"type":606,"tag":1150,"props":4176,"children":4177},{},[4178,4186,4191],{"type":606,"tag":1177,"props":4179,"children":4180},{},[4181],{"type":606,"tag":632,"props":4182,"children":4184},{"className":4183},[],[4185],{"type":612,"value":1121},{"type":606,"tag":1177,"props":4187,"children":4188},{},[4189],{"type":612,"value":4190},"More features, older Python",{"type":606,"tag":1177,"props":4192,"children":4193},{},[4194],{"type":606,"tag":632,"props":4195,"children":4197},{"className":4196},[],[4198],{"type":612,"value":4199},"virtualenv env",{"type":606,"tag":1150,"props":4201,"children":4202},{},[4203,4211,4216],{"type":606,"tag":1177,"props":4204,"children":4205},{},[4206],{"type":606,"tag":632,"props":4207,"children":4209},{"className":4208},[],[4210],{"type":612,"value":1132},{"type":606,"tag":1177,"props":4212,"children":4213},{},[4214],{"type":612,"value":4215},"Data science, non-Python deps",{"type":606,"tag":1177,"props":4217,"children":4218},{},[4219],{"type":606,"tag":632,"props":4220,"children":4222},{"className":4221},[],[4223],{"type":612,"value":4224},"conda create -n env python=3.9",{"type":606,"tag":1150,"props":4226,"children":4227},{},[4228,4237,4242],{"type":606,"tag":1177,"props":4229,"children":4230},{},[4231],{"type":606,"tag":632,"props":4232,"children":4234},{"className":4233},[],[4235],{"type":612,"value":4236},"pipenv",{"type":606,"tag":1177,"props":4238,"children":4239},{},[4240],{"type":612,"value":4241},"Modern workflow",{"type":606,"tag":1177,"props":4243,"children":4244},{},[4245],{"type":606,"tag":632,"props":4246,"children":4248},{"className":4247},[],[4249],{"type":612,"value":4250},"pipenv install requests",{"type":606,"tag":1150,"props":4252,"children":4253},{},[4254,4263,4268],{"type":606,"tag":1177,"props":4255,"children":4256},{},[4257],{"type":606,"tag":632,"props":4258,"children":4260},{"className":4259},[],[4261],{"type":612,"value":4262},"poetry",{"type":606,"tag":1177,"props":4264,"children":4265},{},[4266],{"type":612,"value":4267},"Advanced dependency management",{"type":606,"tag":1177,"props":4269,"children":4270},{},[4271],{"type":606,"tag":632,"props":4272,"children":4274},{"className":4273},[],[4275],{"type":612,"value":4276},"poetry add requests",{"type":606,"tag":1306,"props":4278,"children":4280},{"id":4279},"troubleshooting-common-issues",[4281],{"type":612,"value":4282},"Troubleshooting Common Issues",{"type":606,"tag":621,"props":4284,"children":4285},{},[4286],{"type":606,"tag":625,"props":4287,"children":4289},{"className":627,"code":4288,"language":629,"meta":8,"style":8},"# Common virtual environment issues and solutions\ncommon_issues = {\n    \"Environment won't activate\": [\n        \"Check if activation script exists\",\n        \"Try using full path to activate script\", \n        \"On Windows: Check execution policy\",\n        \"Recreate environment if corrupted\"\n    ],\n    \n    \"Package installation fails\": [\n        \"Update pip: python -m pip install --upgrade pip\",\n        \"Check internet connection\",\n        \"Clear pip cache: pip cache purge\",\n        \"Install from wheel files if needed\"\n    ],\n    \n    \"Wrong Python version\": [\n        \"Specify Python version: python3.9 -m venv env\",\n        \"Check PATH environment variable\",\n        \"Use full path to Python executable\",\n        \"Update system Python if needed\"\n    ],\n    \n    \"Import errors after activation\": [\n        \"Verify environment is activated (check prompt)\",\n        \"Reinstall packages in environment\",\n        \"Check PYTHONPATH environment variable\",\n        \"Restart terminal/IDE\"\n    ]\n}\n\nprint(\"Common virtual environment troubleshooting:\")\nfor issue, solutions in common_issues.items():\n    print(f\"\\n{issue}:\")\n    for solution in solutions:\n        print(f\"  • {solution}\")\n",[4290],{"type":606,"tag":632,"props":4291,"children":4292},{"__ignoreMap":8},[4293,4301,4317,4329,4341,4353,4365,4373,4380,4387,4399,4411,4423,4435,4443,4450,4457,4469,4481,4493,4505,4513,4520,4527,4539,4551,4563,4575,4583,4590,4597,4604,4624,4645,4685,4706],{"type":606,"tag":636,"props":4294,"children":4295},{"class":638,"line":12},[4296],{"type":606,"tag":636,"props":4297,"children":4298},{"style":642},[4299],{"type":612,"value":4300},"# Common virtual environment issues and solutions\n",{"type":606,"tag":636,"props":4302,"children":4303},{"class":638,"line":27},[4304,4309,4313],{"type":606,"tag":636,"props":4305,"children":4306},{"style":768},[4307],{"type":612,"value":4308},"common_issues ",{"type":606,"tag":636,"props":4310,"children":4311},{"style":762},[4312],{"type":612,"value":1592},{"type":606,"tag":636,"props":4314,"children":4315},{"style":768},[4316],{"type":612,"value":2665},{"type":606,"tag":636,"props":4318,"children":4319},{"class":638,"line":36},[4320,4325],{"type":606,"tag":636,"props":4321,"children":4322},{"style":651},[4323],{"type":612,"value":4324},"    \"Environment won't activate\"",{"type":606,"tag":636,"props":4326,"children":4327},{"style":768},[4328],{"type":612,"value":3198},{"type":606,"tag":636,"props":4330,"children":4331},{"class":638,"line":45},[4332,4337],{"type":606,"tag":636,"props":4333,"children":4334},{"style":651},[4335],{"type":612,"value":4336},"        \"Check if activation script exists\"",{"type":606,"tag":636,"props":4338,"children":4339},{"style":768},[4340],{"type":612,"value":2688},{"type":606,"tag":636,"props":4342,"children":4343},{"class":638,"line":54},[4344,4349],{"type":606,"tag":636,"props":4345,"children":4346},{"style":651},[4347],{"type":612,"value":4348},"        \"Try using full path to activate script\"",{"type":606,"tag":636,"props":4350,"children":4351},{"style":768},[4352],{"type":612,"value":2710},{"type":606,"tag":636,"props":4354,"children":4355},{"class":638,"line":63},[4356,4361],{"type":606,"tag":636,"props":4357,"children":4358},{"style":651},[4359],{"type":612,"value":4360},"        \"On Windows: Check execution policy\"",{"type":606,"tag":636,"props":4362,"children":4363},{"style":768},[4364],{"type":612,"value":2688},{"type":606,"tag":636,"props":4366,"children":4367},{"class":638,"line":72},[4368],{"type":606,"tag":636,"props":4369,"children":4370},{"style":651},[4371],{"type":612,"value":4372},"        \"Recreate environment if corrupted\"\n",{"type":606,"tag":636,"props":4374,"children":4375},{"class":638,"line":81},[4376],{"type":606,"tag":636,"props":4377,"children":4378},{"style":768},[4379],{"type":612,"value":3249},{"type":606,"tag":636,"props":4381,"children":4382},{"class":638,"line":705},[4383],{"type":606,"tag":636,"props":4384,"children":4385},{"style":768},[4386],{"type":612,"value":1677},{"type":606,"tag":636,"props":4388,"children":4389},{"class":638,"line":99},[4390,4395],{"type":606,"tag":636,"props":4391,"children":4392},{"style":651},[4393],{"type":612,"value":4394},"    \"Package installation fails\"",{"type":606,"tag":636,"props":4396,"children":4397},{"style":768},[4398],{"type":612,"value":3198},{"type":606,"tag":636,"props":4400,"children":4401},{"class":638,"line":108},[4402,4407],{"type":606,"tag":636,"props":4403,"children":4404},{"style":651},[4405],{"type":612,"value":4406},"        \"Update pip: python -m pip install --upgrade pip\"",{"type":606,"tag":636,"props":4408,"children":4409},{"style":768},[4410],{"type":612,"value":2688},{"type":606,"tag":636,"props":4412,"children":4413},{"class":638,"line":117},[4414,4419],{"type":606,"tag":636,"props":4415,"children":4416},{"style":651},[4417],{"type":612,"value":4418},"        \"Check internet connection\"",{"type":606,"tag":636,"props":4420,"children":4421},{"style":768},[4422],{"type":612,"value":2688},{"type":606,"tag":636,"props":4424,"children":4425},{"class":638,"line":126},[4426,4431],{"type":606,"tag":636,"props":4427,"children":4428},{"style":651},[4429],{"type":612,"value":4430},"        \"Clear pip cache: pip cache purge\"",{"type":606,"tag":636,"props":4432,"children":4433},{"style":768},[4434],{"type":612,"value":2688},{"type":606,"tag":636,"props":4436,"children":4437},{"class":638,"line":135},[4438],{"type":606,"tag":636,"props":4439,"children":4440},{"style":651},[4441],{"type":612,"value":4442},"        \"Install from wheel files if needed\"\n",{"type":606,"tag":636,"props":4444,"children":4445},{"class":638,"line":144},[4446],{"type":606,"tag":636,"props":4447,"children":4448},{"style":768},[4449],{"type":612,"value":3249},{"type":606,"tag":636,"props":4451,"children":4452},{"class":638,"line":153},[4453],{"type":606,"tag":636,"props":4454,"children":4455},{"style":768},[4456],{"type":612,"value":1677},{"type":606,"tag":636,"props":4458,"children":4459},{"class":638,"line":163},[4460,4465],{"type":606,"tag":636,"props":4461,"children":4462},{"style":651},[4463],{"type":612,"value":4464},"    \"Wrong Python version\"",{"type":606,"tag":636,"props":4466,"children":4467},{"style":768},[4468],{"type":612,"value":3198},{"type":606,"tag":636,"props":4470,"children":4471},{"class":638,"line":172},[4472,4477],{"type":606,"tag":636,"props":4473,"children":4474},{"style":651},[4475],{"type":612,"value":4476},"        \"Specify Python version: python3.9 -m venv env\"",{"type":606,"tag":636,"props":4478,"children":4479},{"style":768},[4480],{"type":612,"value":2688},{"type":606,"tag":636,"props":4482,"children":4483},{"class":638,"line":181},[4484,4489],{"type":606,"tag":636,"props":4485,"children":4486},{"style":651},[4487],{"type":612,"value":4488},"        \"Check PATH environment variable\"",{"type":606,"tag":636,"props":4490,"children":4491},{"style":768},[4492],{"type":612,"value":2688},{"type":606,"tag":636,"props":4494,"children":4495},{"class":638,"line":190},[4496,4501],{"type":606,"tag":636,"props":4497,"children":4498},{"style":651},[4499],{"type":612,"value":4500},"        \"Use full path to Python executable\"",{"type":606,"tag":636,"props":4502,"children":4503},{"style":768},[4504],{"type":612,"value":2688},{"type":606,"tag":636,"props":4506,"children":4507},{"class":638,"line":199},[4508],{"type":606,"tag":636,"props":4509,"children":4510},{"style":651},[4511],{"type":612,"value":4512},"        \"Update system Python if needed\"\n",{"type":606,"tag":636,"props":4514,"children":4515},{"class":638,"line":208},[4516],{"type":606,"tag":636,"props":4517,"children":4518},{"style":768},[4519],{"type":612,"value":3249},{"type":606,"tag":636,"props":4521,"children":4522},{"class":638,"line":217},[4523],{"type":606,"tag":636,"props":4524,"children":4525},{"style":768},[4526],{"type":612,"value":1677},{"type":606,"tag":636,"props":4528,"children":4529},{"class":638,"line":227},[4530,4535],{"type":606,"tag":636,"props":4531,"children":4532},{"style":651},[4533],{"type":612,"value":4534},"    \"Import errors after activation\"",{"type":606,"tag":636,"props":4536,"children":4537},{"style":768},[4538],{"type":612,"value":3198},{"type":606,"tag":636,"props":4540,"children":4541},{"class":638,"line":236},[4542,4547],{"type":606,"tag":636,"props":4543,"children":4544},{"style":651},[4545],{"type":612,"value":4546},"        \"Verify environment is activated (check prompt)\"",{"type":606,"tag":636,"props":4548,"children":4549},{"style":768},[4550],{"type":612,"value":2688},{"type":606,"tag":636,"props":4552,"children":4553},{"class":638,"line":245},[4554,4559],{"type":606,"tag":636,"props":4555,"children":4556},{"style":651},[4557],{"type":612,"value":4558},"        \"Reinstall packages in environment\"",{"type":606,"tag":636,"props":4560,"children":4561},{"style":768},[4562],{"type":612,"value":2688},{"type":606,"tag":636,"props":4564,"children":4565},{"class":638,"line":254},[4566,4571],{"type":606,"tag":636,"props":4567,"children":4568},{"style":651},[4569],{"type":612,"value":4570},"        \"Check PYTHONPATH environment variable\"",{"type":606,"tag":636,"props":4572,"children":4573},{"style":768},[4574],{"type":612,"value":2688},{"type":606,"tag":636,"props":4576,"children":4577},{"class":638,"line":263},[4578],{"type":606,"tag":636,"props":4579,"children":4580},{"style":651},[4581],{"type":612,"value":4582},"        \"Restart terminal/IDE\"\n",{"type":606,"tag":636,"props":4584,"children":4585},{"class":638,"line":272},[4586],{"type":606,"tag":636,"props":4587,"children":4588},{"style":768},[4589],{"type":612,"value":3134},{"type":606,"tag":636,"props":4591,"children":4592},{"class":638,"line":281},[4593],{"type":606,"tag":636,"props":4594,"children":4595},{"style":768},[4596],{"type":612,"value":2756},{"type":606,"tag":636,"props":4598,"children":4599},{"class":638,"line":291},[4600],{"type":606,"tag":636,"props":4601,"children":4602},{"emptyLinePlaceholder":13},[4603],{"type":612,"value":686},{"type":606,"tag":636,"props":4605,"children":4606},{"class":638,"line":302},[4607,4611,4615,4620],{"type":606,"tag":636,"props":4608,"children":4609},{"style":796},[4610],{"type":612,"value":799},{"type":606,"tag":636,"props":4612,"children":4613},{"style":768},[4614],{"type":612,"value":804},{"type":606,"tag":636,"props":4616,"children":4617},{"style":651},[4618],{"type":612,"value":4619},"\"Common virtual environment troubleshooting:\"",{"type":606,"tag":636,"props":4621,"children":4622},{"style":768},[4623],{"type":612,"value":839},{"type":606,"tag":636,"props":4625,"children":4626},{"class":638,"line":311},[4627,4631,4636,4640],{"type":606,"tag":636,"props":4628,"children":4629},{"style":762},[4630],{"type":612,"value":2869},{"type":606,"tag":636,"props":4632,"children":4633},{"style":768},[4634],{"type":612,"value":4635}," issue, solutions ",{"type":606,"tag":636,"props":4637,"children":4638},{"style":762},[4639],{"type":612,"value":2879},{"type":606,"tag":636,"props":4641,"children":4642},{"style":768},[4643],{"type":612,"value":4644}," common_issues.items():\n",{"type":606,"tag":636,"props":4646,"children":4647},{"class":638,"line":320},[4648,4652,4656,4660,4664,4668,4673,4677,4681],{"type":606,"tag":636,"props":4649,"children":4650},{"style":796},[4651],{"type":612,"value":972},{"type":606,"tag":636,"props":4653,"children":4654},{"style":768},[4655],{"type":612,"value":804},{"type":606,"tag":636,"props":4657,"children":4658},{"style":762},[4659],{"type":612,"value":809},{"type":606,"tag":636,"props":4661,"children":4662},{"style":651},[4663],{"type":612,"value":834},{"type":606,"tag":636,"props":4665,"children":4666},{"style":796},[4667],{"type":612,"value":3491},{"type":606,"tag":636,"props":4669,"children":4670},{"style":768},[4671],{"type":612,"value":4672},"issue",{"type":606,"tag":636,"props":4674,"children":4675},{"style":796},[4676],{"type":612,"value":829},{"type":606,"tag":636,"props":4678,"children":4679},{"style":651},[4680],{"type":612,"value":3505},{"type":606,"tag":636,"props":4682,"children":4683},{"style":768},[4684],{"type":612,"value":839},{"type":606,"tag":636,"props":4686,"children":4687},{"class":638,"line":329},[4688,4692,4697,4701],{"type":606,"tag":636,"props":4689,"children":4690},{"style":762},[4691],{"type":612,"value":3517},{"type":606,"tag":636,"props":4693,"children":4694},{"style":768},[4695],{"type":612,"value":4696}," solution ",{"type":606,"tag":636,"props":4698,"children":4699},{"style":762},[4700],{"type":612,"value":2879},{"type":606,"tag":636,"props":4702,"children":4703},{"style":768},[4704],{"type":612,"value":4705}," solutions:\n",{"type":606,"tag":636,"props":4707,"children":4708},{"class":638,"line":338},[4709,4713,4717,4721,4726,4730,4735,4739,4743],{"type":606,"tag":636,"props":4710,"children":4711},{"style":796},[4712],{"type":612,"value":3538},{"type":606,"tag":636,"props":4714,"children":4715},{"style":768},[4716],{"type":612,"value":804},{"type":606,"tag":636,"props":4718,"children":4719},{"style":762},[4720],{"type":612,"value":809},{"type":606,"tag":636,"props":4722,"children":4723},{"style":651},[4724],{"type":612,"value":4725},"\"  • ",{"type":606,"tag":636,"props":4727,"children":4728},{"style":796},[4729],{"type":612,"value":819},{"type":606,"tag":636,"props":4731,"children":4732},{"style":768},[4733],{"type":612,"value":4734},"solution",{"type":606,"tag":636,"props":4736,"children":4737},{"style":796},[4738],{"type":612,"value":829},{"type":606,"tag":636,"props":4740,"children":4741},{"style":651},[4742],{"type":612,"value":834},{"type":606,"tag":636,"props":4744,"children":4745},{"style":768},[4746],{"type":612,"value":839},{"type":606,"tag":1008,"props":4748,"children":4750},{"id":4749},"key-takeaways",[4751],{"type":612,"value":4752},"🎯 Key Takeaways",{"type":606,"tag":1020,"props":4754,"children":4758},{"emoji":4755,"title":4756,"type":4757},"📚","Virtual Environment Essentials","success",[4759,4767,4836,4844,4872,4880,4903],{"type":606,"tag":615,"props":4760,"children":4761},{},[4762],{"type":606,"tag":1030,"props":4763,"children":4764},{},[4765],{"type":612,"value":4766},"Setup Workflow:",{"type":606,"tag":4768,"props":4769,"children":4770},"ol",{},[4771,4782,4803,4814,4825],{"type":606,"tag":1040,"props":4772,"children":4773},{},[4774,4776],{"type":612,"value":4775},"Create: ",{"type":606,"tag":632,"props":4777,"children":4779},{"className":4778},[],[4780],{"type":612,"value":4781},"python -m venv project_env",{"type":606,"tag":1040,"props":4783,"children":4784},{},[4785,4787,4793,4795,4801],{"type":612,"value":4786},"Activate: ",{"type":606,"tag":632,"props":4788,"children":4790},{"className":4789},[],[4791],{"type":612,"value":4792},"project_env\\Scripts\\activate",{"type":612,"value":4794}," (Windows) or ",{"type":606,"tag":632,"props":4796,"children":4798},{"className":4797},[],[4799],{"type":612,"value":4800},"source project_env/bin/activate",{"type":612,"value":4802}," (Mac/Linux)",{"type":606,"tag":1040,"props":4804,"children":4805},{},[4806,4808],{"type":612,"value":4807},"Install: ",{"type":606,"tag":632,"props":4809,"children":4811},{"className":4810},[],[4812],{"type":612,"value":4813},"pip install package_name",{"type":606,"tag":1040,"props":4815,"children":4816},{},[4817,4819],{"type":612,"value":4818},"Save: ",{"type":606,"tag":632,"props":4820,"children":4822},{"className":4821},[],[4823],{"type":612,"value":4824},"pip freeze > requirements.txt",{"type":606,"tag":1040,"props":4826,"children":4827},{},[4828,4830],{"type":612,"value":4829},"Share: Others use ",{"type":606,"tag":632,"props":4831,"children":4833},{"className":4832},[],[4834],{"type":612,"value":4835},"pip install -r requirements.txt",{"type":606,"tag":615,"props":4837,"children":4838},{},[4839],{"type":606,"tag":1030,"props":4840,"children":4841},{},[4842],{"type":612,"value":4843},"Best Practices:",{"type":606,"tag":1036,"props":4845,"children":4846},{},[4847,4852,4857,4862,4867],{"type":606,"tag":1040,"props":4848,"children":4849},{},[4850],{"type":612,"value":4851},"One virtual environment per project",{"type":606,"tag":1040,"props":4853,"children":4854},{},[4855],{"type":612,"value":4856},"Always activate before installing packages",{"type":606,"tag":1040,"props":4858,"children":4859},{},[4860],{"type":612,"value":4861},"Keep requirements.txt updated",{"type":606,"tag":1040,"props":4863,"children":4864},{},[4865],{"type":612,"value":4866},"Don't commit virtual environment to version control",{"type":606,"tag":1040,"props":4868,"children":4869},{},[4870],{"type":612,"value":4871},"Use specific package versions for production",{"type":606,"tag":615,"props":4873,"children":4874},{},[4875],{"type":606,"tag":1030,"props":4876,"children":4877},{},[4878],{"type":612,"value":4879},"Benefits:",{"type":606,"tag":1036,"props":4881,"children":4882},{},[4883,4888,4893,4898],{"type":606,"tag":1040,"props":4884,"children":4885},{},[4886],{"type":612,"value":4887},"Isolated dependencies per project",{"type":606,"tag":1040,"props":4889,"children":4890},{},[4891],{"type":612,"value":4892},"Reproducible installations",{"type":606,"tag":1040,"props":4894,"children":4895},{},[4896],{"type":612,"value":4897},"Safe experimentation",{"type":606,"tag":1040,"props":4899,"children":4900},{},[4901],{"type":612,"value":4902},"Clean system Python",{"type":606,"tag":615,"props":4904,"children":4905},{},[4906,4911],{"type":606,"tag":1030,"props":4907,"children":4908},{},[4909],{"type":612,"value":4910},"Remember:",{"type":612,"value":4912}," Virtual environments are essential for professional Python development!",{"type":606,"tag":1008,"props":4914,"children":4916},{"id":4915},"youve-completed-functions-and-modules",[4917],{"type":612,"value":4918},"🚀 You've Completed Functions and Modules!",{"type":606,"tag":615,"props":4920,"children":4921},{},[4922],{"type":612,"value":4923},"Congratulations! You've learned how to organize Python code with functions, modules, packages, and virtual environments. These skills are essential for building maintainable, professional Python applications.",{"type":606,"tag":615,"props":4925,"children":4926},{},[4927],{"type":606,"tag":1030,"props":4928,"children":4929},{},[4930],{"type":612,"value":4931},"What you've mastered:",{"type":606,"tag":1036,"props":4933,"children":4934},{},[4935,4940,4945,4950,4955,4960],{"type":606,"tag":1040,"props":4936,"children":4937},{},[4938],{"type":612,"value":4939},"Writing reusable functions with parameters and return values",{"type":606,"tag":1040,"props":4941,"children":4942},{},[4943],{"type":612,"value":4944},"Using *args and **kwargs for flexible function arguments",{"type":606,"tag":1040,"props":4946,"children":4947},{},[4948],{"type":612,"value":4949},"Creating decorators to enhance function behavior",{"type":606,"tag":1040,"props":4951,"children":4952},{},[4953],{"type":612,"value":4954},"Building memory-efficient generators with yield",{"type":606,"tag":1040,"props":4956,"children":4957},{},[4958],{"type":612,"value":4959},"Organizing code with modules and packages",{"type":606,"tag":1040,"props":4961,"children":4962},{},[4963],{"type":612,"value":4964},"Managing dependencies with virtual environments",{"type":606,"tag":615,"props":4966,"children":4967},{},[4968,4973,4974,4979],{"type":606,"tag":1030,"props":4969,"children":4970},{},[4971],{"type":612,"value":4972},"Next section",{"type":612,"value":2678},{"type":606,"tag":4975,"props":4976,"children":4977},"a",{"href":473},[4978],{"type":612,"value":474},{"type":612,"value":4980}," - Learn to work with regular expressions, APIs, databases, and large files.",{"type":606,"tag":4982,"props":4983,"children":4984},"style",{},[4985],{"type":612,"value":4986},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .app-dark-mode .shiki span {color: var(--shiki-app-dark-mode);background: var(--shiki-app-dark-mode-bg);font-style: var(--shiki-app-dark-mode-font-style);font-weight: var(--shiki-app-dark-mode-font-weight);text-decoration: var(--shiki-app-dark-mode-text-decoration);}html.app-dark-mode .shiki span {color: var(--shiki-app-dark-mode);background: var(--shiki-app-dark-mode-bg);font-style: var(--shiki-app-dark-mode-font-style);font-weight: var(--shiki-app-dark-mode-font-weight);text-decoration: var(--shiki-app-dark-mode-text-decoration);}",{"title":8,"searchDepth":36,"depth":36,"links":4988},[4989,4990,4991,4996,5001,5004,5005],{"id":1010,"depth":27,"text":1013},{"id":1137,"depth":27,"text":1140},{"id":1301,"depth":27,"text":1304,"children":4992},[4993,4994,4995],{"id":1308,"depth":36,"text":1311},{"id":1796,"depth":36,"text":1799},{"id":2098,"depth":36,"text":2101},{"id":2621,"depth":27,"text":2624,"children":4997},[4998,4999,5000],{"id":2627,"depth":36,"text":2630},{"id":2992,"depth":36,"text":2995},{"id":3574,"depth":36,"text":3577},{"id":4119,"depth":27,"text":4122,"children":5002},[5003],{"id":4279,"depth":36,"text":4282},{"id":4749,"depth":27,"text":4752},{"id":4915,"depth":27,"text":4918},1782373762543]