คำถามติดแท็ก pycharm

PyCharm เป็นสภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE) สำหรับ Python ได้รับการพัฒนาโดย JetBrains สำหรับ Windows, Mac OS X และ Linux

4
ฉันจะระบุได้อย่างไรว่าชนิดการคืนค่าของเมธอดนั้นเหมือนกับคลาสของตัวเอง?
ฉันมีรหัสต่อไปนี้ในหลาม 3: class Position: def __init__(self, x: int, y: int): self.x = x self.y = y def __add__(self, other: Position) -> Position: return Position(self.x + other.x, self.y + other.y) แต่บรรณาธิการของฉัน (PyCharm) บอกว่าตำแหน่งอ้างอิงไม่สามารถแก้ไขได้ (ใน__add__วิธีการ) ฉันจะระบุได้อย่างไรว่าฉันต้องการประเภทการส่งคืนเป็นประเภทPositionใด แก้ไข: ฉันคิดว่านี่เป็นปัญหา PyCharm จริง ๆ แล้วมันใช้ข้อมูลในการเตือนและการทำให้โค้ดเสร็จสมบูรณ์ แต่แก้ไขให้ฉันถ้าฉันผิดและจำเป็นต้องใช้ไวยากรณ์อื่น ๆ

17
ปัญหาการอ้างอิงที่ไม่ได้รับการแก้ไขใน PyCharm
ฉันมีโครงสร้างไดเรกทอรี ├── simulate.py ├── src │ ├── networkAlgorithm.py │ ├── ... sys.path.insert()และฉันสามารถเข้าถึงโมดูลเครือข่ายด้วย import sys import os.path sys.path.insert(0, "./src") from networkAlgorithm import * อย่างไรก็ตาม pycharm บ่นว่าไม่สามารถเข้าถึงโมดูลได้ ฉันจะสอน pycham เพื่อแก้ไขการอ้างอิงได้อย่างไร
373 python  ide  pycharm 

23
PyCharm แสดงข้อผิดพลาดการอ้างอิงที่ไม่ได้รับการแก้ไขสำหรับรหัสที่ถูกต้อง
ฉันใช้ PyCharm เพื่อทำงานในโครงการ โครงการเปิดและกำหนดค่าด้วยล่ามและสามารถทำงานได้สำเร็จ เส้นทางของล่ามระยะไกลถูกแมปอย่างเหมาะสม ดูเหมือนว่าจะเป็นการกำหนดค่าที่ถูกต้อง แต่ PyCharm กำลังเน้นรหัสที่ถูกต้องของฉันพร้อมกับข้อผิดพลาด เหตุใดจึงไม่ตรวจพบสิ่งเหล่านี้แม้ว่ารหัสจะทำงานอย่างไร มีวิธีใดที่จะทำให้ PyCharm จดจำสิ่งเหล่านี้ได้อย่างถูกต้อง? อินสแตนซ์ที่เฉพาะเจาะจงของปัญหานี้มาพร้อมกับล่ามระยะไกล แต่ปัญหาปรากฏขึ้นที่ล่ามท้องถิ่นเช่นกัน
279 python  pycharm 

6
ฉันจะตั้งค่าความยาวบรรทัดสูงสุดใน PyCharm ได้อย่างไร
ฉันกำลังใช้ PyCharm บน Windows และต้องการเปลี่ยนการตั้งค่าเพื่อ จำกัด ความยาวบรรทัดสูงสุดเป็น79ตัวอักษรซึ่งตรงข้ามกับขีด จำกัด เริ่มต้นของ120ตัวอักษร ฉันจะเปลี่ยนจำนวนอักขระสูงสุดต่อบรรทัดใน PyCharm ได้อย่างไร
266 python  pycharm  pep8 

6
วิธีทำให้ PyCharm แสดงหมายเลขบรรทัดเสมอ
ดูเหมือนว่าฉันจะไม่สามารถค้นหาการตั้งค่าเพื่อเปิดใช้งานหมายเลขบรรทัดสำหรับไฟล์ทั้งหมดแต่ฉันต้องคลิกขวาและเปิดใช้งานสิ่งนี้ในแต่ละไฟล์ จะต้องมีการตั้งค่าระดับโลกสำหรับสิ่งนี้ใช่ไหม

3
ลดความซับซ้อนของการเปรียบเทียบที่ถูกล่ามโซ่
ฉันมีค่าจำนวนเต็มxและฉันต้องตรวจสอบว่าเป็นระหว่างstartและendค่าดังนั้นฉันเขียนคำสั่งต่อไปนี้: if x >= start and x <= end: # do stuff คำสั่งนี้ขีดเส้นใต้และคำแนะนำเครื่องมือบอกฉันว่าฉันต้อง ลดความซับซ้อนของการเปรียบเทียบที่ถูกผูกมัด เท่าที่ฉันจะบอกได้ว่าการเปรียบเทียบนั้นง่ายพอ ๆ กับที่พวกเขามา ฉันพลาดอะไรไปที่นี่
254 python  pycharm 

3
วิธีการนำทางผ่านซอร์สโค้ดตามส่วนต่าง ๆ ใน CamelCase (แทนที่จะเป็นทั้งคำ)
ฉันจำได้ว่าตอนที่ฉันใช้ Eclipse นั้นเมื่อถือ CTRL และใช้ลูกศรซ้ายหรือขวา Eclipse จะนำทางLongCamelCaseWrittenWordในหลายขั้นตอน กรณีคำอูฐหนึ่งครั้ง ดังนั้นมันจะเป็นดังนี้ (ไปป์|แสดงถึงตำแหน่งเคอร์เซอร์จริง): |LongCamelCaseWrittenWord -> CTRL+RIGHT_ARROW -> Long|CamelCaseWrittenWord -> CTRL+RIGHT_ARROW -> LongCamel|CaseWrittenWord -> CTRL+RIGHT_ARROW -> LongCamelCase|WrittenWord -> CTRL+RIGHT_ARROW -> LongCamelCaseWritten|Word -> CTRL+RIGHT_ARROW -> LongCamelCaseWrittenWord| มีวิธีการในการบรรลุเป้าหมายใน IntelliJ หรือไม่? ปัจจุบัน IntelliJ ก้าวข้ามคำทั้งหมดในครั้งเดียว ใช้ IntelliJ 9.0

8
ชื่อเงาที่กำหนดไว้ในขอบเขตด้านนอกนั้นแย่แค่ไหน?
ฉันเพิ่งเปลี่ยนมาใช้ Pycharm และฉันมีความสุขมากเกี่ยวกับคำเตือนทั้งหมดและคำแนะนำที่ให้ฉันปรับปรุงรหัสของฉัน ยกเว้นอันนี้ซึ่งฉันไม่เข้าใจ: This inspection detects shadowing names defined in outer scopes. ฉันรู้ว่ามันเป็นแนวปฏิบัติที่ไม่ดีในการเข้าถึงตัวแปรจากขอบเขตด้านนอก แต่ปัญหาของ Shadowing ขอบเขตด้านนอกคืออะไร นี่คือตัวอย่างหนึ่งที่ Pycharm ส่งข้อความเตือนให้ฉัน: data = [4, 5, 6] def print_data(data): # <-- Warning: "Shadows 'data' from outer scope print data print_data(data)

10
มีความแตกต่างระหว่างการใช้ตัวอักษร dict และตัวสร้าง dict ไหม?
เมื่อใช้ PyCharm ฉันสังเกตว่ามันเสนอให้แปลงตัวอักษรตามคำบอก : d = { 'one': '1', 'two': '2', } เป็นตัวสร้าง dict : d = dict(one='1', two='2') วิธีการที่แตกต่างกันเหล่านี้แตกต่างกันไปในวิธีที่สำคัญหรือไม่? (ในขณะที่เขียนคำถามนี้ฉันสังเกตเห็นว่าการใช้dict()ดูเหมือนว่าเป็นไปไม่ได้ที่จะระบุคีย์ตัวเลข .. d = {1: 'one', 2: 'two'}เป็นไปได้ แต่เห็นได้ชัดว่าdict(1='one' ...)ไม่ใช่สิ่งอื่นใด)

12
ฉันจะใช้แพ็คเกจที่ติดตั้งใน PyCharm ได้อย่างไร
ในPyCharm , /usr/bin/pythonฉันได้เพิ่มสภาพแวดล้อมหลาม อย่างไรก็ตาม from gnuradio import gr ล้มเหลวในฐานะที่เป็นการอ้างอิงที่ไม่ได้กำหนด อย่างไรก็ตามมันใช้งานได้ดีในตัวแปล Python จากบรรทัดคำสั่ง GNURadio ทำงานได้ดีกับ python นอก Pycharm ทุกอย่างถูกติดตั้งและกำหนดค่าตามที่ฉันต้องการ Gnuradio ตั้งอยู่ที่ /usr/local/lib/python2.7/site-packages/gnuradio นอกจากนี้: PYTHONPATH = / usr / local / lib / python2.7 เว็บไซต์ / แพคเกจ: /usr/local/lib/python2.7/site-packages/gnuradio
200 python  pycharm  gnuradio 

5
เหตุใดผู้ตรวจสอบของ Pycharm บ่นเกี่ยวกับ“ d = {}”
เมื่อเริ่มต้นพจนานุกรมด้วยd = {}เครื่องมือตรวจสอบรหัสของ Pycharm จะสร้างคำเตือนว่า การสร้างพจนานุกรมนี้สามารถเขียนใหม่เป็นตัวอักษรในพจนานุกรม ถ้าฉันเขียนใหม่มันd = dict()เตือนจะหายไป ตั้งแต่{}อยู่แล้วเป็นตัวอักษรพจนานุกรมผมค่อนข้างมั่นใจว่าข้อความที่ผิดพลาด นอกจากนี้ดูเหมือนว่าทั้งสองd = {}และd = dict()ถูกต้องและ Pythonic คำถามที่เกี่ยวข้องนี้ดูเหมือนจะสรุปว่าตัวเลือกเป็นเพียงเรื่องของสไตล์ / การตั้งค่า: ความแตกต่างระหว่าง "d = dict ()" และ "d = {}" ทำไมพิชarmถึงบ่นd = {}? UPDATE: Mac จับมัน คำเตือนนั้นใช้กับหลายบรรทัดไม่ใช่เฉพาะคำเตือนที่ตั้งค่าสถานะ Pycharm ดูเหมือนจะมองหาลำดับของคำสั่งที่ต่อเนื่องกันซึ่งคุณเริ่มต้นพจนานุกรมแล้วตั้งค่าในพจนานุกรม ตัวอย่างเช่นสิ่งนี้จะทริกเกอร์คำเตือน: d = {} d['a'] = 1 แต่รหัสนี้จะไม่: d = {} pass d['a'] …
196 python  pycharm 

5
ฉันจะบอก PyCharm ได้อย่างไรว่าพารามิเตอร์ประเภทใดที่คาดว่าจะเป็น
เมื่อพูดถึง Constructor และการมอบหมายและการเรียกเมธอด PyCharm IDE ค่อนข้างดีในการวิเคราะห์ซอร์สโค้ดของฉันและการหาว่าตัวแปรแต่ละชนิดควรเป็นอะไร ฉันชอบเมื่อมันถูกต้องเพราะมันให้ข้อมูลโค้ดที่สมบูรณ์และพารามิเตอร์ที่ดีและให้คำเตือนแก่ฉันถ้าฉันพยายามเข้าถึงแอตทริบิวต์ที่ไม่มีอยู่ แต่เมื่อพูดถึงพารามิเตอร์มันไม่รู้อะไรเลย ดร็อปดาวน์การทำให้โค้ดเสร็จสมบูรณ์ไม่สามารถแสดงอะไรได้เนื่องจากพวกเขาไม่รู้ว่าจะใช้พารามิเตอร์ประเภทใด การวิเคราะห์รหัสไม่สามารถมองหาคำเตือนได้ class Person: def __init__(self, name, age): self.name = name self.age = age peasant = Person("Dennis", 37) # PyCharm knows that the "peasant" variable is of type Person peasant.dig_filth() # shows warning -- Person doesn't have a dig_filth method class King: …

11
ฉันจะกำหนดค่า PyCharm ให้เรียกใช้การทดสอบ py.test ได้อย่างไร
ฉันต้องการที่จะเริ่มต้นการเขียนการทดสอบหน่วยรหัสหลามฉันและpy.testเสียงกรอบเช่นเดิมพันที่ดีกว่าของงูหลามรวมUnitTest ดังนั้นผมจึงเพิ่ม "การทดสอบ directory" กับโครงการของฉันและเพิ่มtest_sample.pyกับมัน ตอนนี้ฉันต้องการกำหนดค่า PyCharm เพื่อเรียกใช้การทดสอบทั้งหมดในไดเรกทอรี "การทดสอบ" ของฉัน PyCharm กล่าวหาว่าสนับสนุน py.testในการทดสอบนักวิ่ง คุณควรจะสามารถที่จะสร้างการทำงาน / การแก้ปัญหาการกำหนดค่าที่จะเรียกใช้การทดสอบของคุณและ PyCharm ที่ถูกกล่าวหาว่ามีการ"สร้างการตั้งค่า" กล่องโต้ตอบเฉพาะสำหรับ py.test แต่นั่นเป็นขอบเขตที่สมบูรณ์ของเอกสารของพวกเขาในเรื่องและฉันไม่สามารถหากล่องโต้ตอบที่ถูกกล่าวหาได้ทุก หากฉันคลิกขวาที่ไดเรกทอรีในหน้าต่างเครื่องมือโครงการฉันควรเห็นรายการเมนู "สร้าง <name>" แต่รายการเมนูเดียวที่เริ่มต้นด้วย "สร้าง" คือ "สร้างการกำหนดค่าการเรียกใช้" ตกลงอาจเป็นเอกสารที่ผิดและ "สร้างการกำหนดค่าการเรียกใช้" อาจทำให้คุณมั่นใจได้ แต่น่าเสียดายที่มีเพียงสองรายการในเมนูย่อยของมันคือ "Unittests ใน C: \ mypath ... " และ "Doctests ใน C: \ mypath ... " ซึ่งไม่เกี่ยวข้อง - ฉันไม่ได้ใช้ทั้ง …
163 python  pycharm  pytest 

13
ข้อผิดพลาด PyCharm: 'ไม่มีโมดูล' เมื่อพยายามนำเข้าโมดูลของตัวเอง (สคริปต์หลาม)
ฉันเขียนโมดูล (ไฟล์my_mod.pyไฟล์ที่อยู่ในโฟลเดอร์my_module) ขณะนี้ฉันกำลังทำงานในไฟล์ที่อยู่ในโฟลเดอร์cool_script.py cur_projฉันได้เปิดโฟลเดอร์ใน PyCharm โดยใช้ไฟล์ - เปิด (และฉันถือว่าดังนั้นจึงเป็นโครงการ PyCharm) ใน ProjectView (CMD-7) ฉันสามารถดูโครงการของฉันcur_proj(สีแดง) และอยู่ภายใต้ "ห้องสมุดภายนอก" my_moduleฉันจะดู ใน cool_script.py ฉันสามารถเขียนได้ from my_module import my_mod as mm และ PyCharm ยังให้คำแนะนำกับ my_mod จนถึงตอนนี้ดีมาก อย่างไรก็ตามเมื่อฉันพยายามเรียกใช้ cool_script.py PyCharm บอกฉันว่า "ไม่มีโมดูลชื่อ my_module" ดูเหมือนว่าฉันจะแปลกเพราะ A) ใน terminal (OS 10.10.2) ใน python ฉันสามารถนำเข้าโมดูลได้โดยไม่มีปัญหา - มีรายการที่เกี่ยวข้องใน PYTHONPATH ใน. …
161 python  module  pycharm 

14
“ UserWarning: Matplotlib กำลังใช้ agg ซึ่งเป็นแบ็กเอนด์ที่ไม่ใช่ GUI ดังนั้นจึงไม่สามารถแสดงตัวเลขได้” เมื่อวางแผนรูปด้วย pyplot บน Pycharm
ฉันกำลังพยายามพล็อตกราฟง่ายๆโดยใช้ pyplot เช่น: import matplotlib.pyplot as plt plt.plot([1,2,3],[5,7,4]) plt.show() แต่รูปไม่ปรากฏขึ้นและฉันได้รับข้อความต่อไปนี้: UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure. ฉันเห็นในหลายที่ที่ต้องเปลี่ยนการกำหนดค่าของ matplotlib โดยใช้สิ่งต่อไปนี้: import matplotlib matplotlib.use('TkAgg') import matplotlib.pyplot as plt ฉันทำสิ่งนี้แล้ว แต่ก็ได้รับข้อความแสดงข้อผิดพลาดเนื่องจากไม่พบโมดูล: ModuleNotFoundError: No module named 'tkinter' จากนั้นฉันพยายามติดตั้ง "tkinter" โดยใช้pip install tkinter(ภายในสภาพแวดล้อมเสมือน) แต่ไม่พบ: Collecting …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.