Rumah  >  Soal Jawab  >  teks badan

python3.x - Mengapa python tidak dapat mencari modul walaupun selepas menetapkan fail .pth?

Ular sawa saya ialah versi 3.5.2.
Saya mempunyai modul helloworld.py, yang mempunyai fungsi pertunjukan untuk mengeluarkan "Hello World". Saya meletakkan modul ini di bawah folder pck, dan kemudian meletakkan folder pck di bawah pemacu C.

Kemudian, saya mencipta fail PckPath.pth dalam direktori pakej tapak laluan pemasangan python, dan mencuba pelbagai kaedah penulisan di dalamnya:

Tidak kira yang mana satu, buat fail test.py baharu pada desktop dan masukkan

import pck.helloworld
pck.helloworld.show()

Ia akan menggesa dalam IDLE

Traceback (most recent call last):
  File "C:\Users\Berlin\Desktop\test.py", line 1, in <module>
    import pck.helloworld
ImportError: No module named 'pck

Kenapa? ? Jika saya tetapkan sys.path.append(...) terus dalam test.py, ia boleh digunakan seperti biasa. Bagaimana untuk mendapatkan fail .pth?

伊谢尔伦伊谢尔伦2646 hari yang lalu953

membalas semua(2)saya akan balas

  • 黄舟

    黄舟2017-06-28 09:27:47

    Tempat lalai di mana Python mencari pakej adalah seperti berikut:

    1. Direktori site-packages

      di bawah direktori pemasangan Python
    2. Direktori pembolehubah persekitaran

      PYTHONPATH

    3. Direktori semasa

    4. sys.path.append(...)Direktori ditambahkan (ini adalah sementara)
      Walau bagaimanapun, jika anda hanya meletakkan pakej di bawah pemacu C, maka ia bukan milik mana-mana In kes ini, Python sudah tentu tidak akan dapat mencari pakej tersebut. Sebagai tambahan kepada kaedah sys.path.append(), anda juga boleh menambah C: pada pembolehubah

      environment dalam kaedah di atas. sys.path.append(...)添加的目录(这个是临时的)
      然而如果你只把包放在了C盘下面,那么它不属于任何一种情况,Python当然就找不到包了。除了sys.path.append()方法,上面方法中还有将C:加到PYTHONPATH

    5. balas
      0
  • PHP中文网

    PHP中文网2017-06-28 09:27:47

    Sebarang bahasa hampir selalu dalam tertib ini daripada pembolehubah sistem, pembolehubah tetapan bahasa kepada pembolehubah rekod masa nyata terakhir Untuk pembolehubah yang sama, pembolehubah terkini adalah berkesan. Beginilah cara saya menyemak persekitaran untuk mempelajari bahasa ini dan sebagainya, dan saya pasti akan segalanya

    balas
    0
  • Batalbalas