แพ็คเกจ Python ใช้งานได้เป็นผู้ดูแลระบบเท่านั้น


1

ใน Mac OSX 10.6 ฉันติดตั้งแพ็คเกจ music21 สำหรับไพ ธ อนโดยใช้

python setup.py install

ในไดเรกทอรีชื่อใน

distutils.sysconfig.get_python_lib()

ซึ่งเป็น

/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages

ตอนนี้ถ้าฉันใช้ Python ในฐานะผู้ดูแลระบบเช่น

sudo python

จากนั้นฉันจะได้รับแพคเกจ:

>> import music21

แต่ถ้าฉันใช้ Python โดยไม่มีสิทธิ์ของผู้ดูแลระบบ Python จะไม่สามารถค้นหาแพ็คเกจได้ มีใครพบปัญหานี้หรือไม่? ฉันตรวจสอบแล้วว่าไฟล์ไลบรารีอยู่ในตำแหน่งที่ถูกต้อง (กล่าวคือไดเรกทอรีย่อยmusic21ของsite-packages) ถ้าฉันทำ

chmod -R a+r *

ในไดเรกทอรีนี้จะพบแพ็คเกจ แต่เกิดข้อยกเว้นระหว่างการนำเข้า ไม่มีใครมีคำแนะนำใด ๆ ?

แก้ไข: นี่คือผลลัพธ์ของ Python:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/music21/__init__.py", line 80, in <module>
    import base
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/music21/base.py", line 60, in <module>
    from music21 import tie
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/music21/tie.py", line 16, in <module>
    from music21.musicxml import translate as musicxmlTranslate
ImportError: No module named musicxml

สำหรับฉันดูเหมือนว่าฉันจะไม่ได้ chmod-ing ทุกอย่างที่ต้องมีการ chmodded ไม่ควรมีวิธีง่ายๆในการกำหนดค่าทุกอย่างสำหรับผู้ใช้ทั่วไปใช่ไหม


อะไรคือข้อยกเว้นในย่อหน้าสุดท้าย?
เอ็ด

คำตอบ:


1

บนระบบ Unix rสิทธิ์พิเศษในไดเรกทอรีช่วยให้คุณเห็นคุณสมบัติของไดเรกทอรีเอง แต่คุณต้องxได้รับอนุญาตให้แสดงรายการเนื้อหาในสิทธิ์ ดังนั้นให้ลองทำสิ่งต่อไปนี้:

chmod -R a+rX *

ตรงกันข้ามกับa+x(ตัวพิมพ์เล็ก x) ซึ่งหมายถึง "ทำให้ทุกไฟล์ที่ปฏิบัติการได้และไดเรกทอรีสามารถใช้กับทุกคนได้", a+X(ตัวพิมพ์ใหญ่ x) หมายถึง "ทำให้ทุกไฟล์ที่ปฏิบัติการได้และไดเรกทอรีสามารถใช้งานได้กับทุกคนหากxสิทธิ์ถูกตั้งเป็น อย่างน้อยหนึ่งในผู้ใช้กลุ่มและอื่น ๆ "

ยกตัวอย่างเช่นหากมีสิทธิ์เช่นนั้นrw-r--r--จะไม่มีการเปลี่ยนแปลง แต่ถ้าเป็นrw-r-xr--เช่นนั้นสิทธิ์เหล่านั้นจะกลายเป็นrwxr-xr-x(เพราะxตั้งค่าไว้สำหรับกลุ่ม)

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