Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建并导入自定义python包-导入不';根本不起作用_Python_Python 2.7_Packages_Sys - Fatal编程技术网

创建并导入自定义python包-导入不';根本不起作用

创建并导入自定义python包-导入不';根本不起作用,python,python-2.7,packages,sys,Python,Python 2.7,Packages,Sys,我对Python完全陌生,我想创建我的第一个Python库供peronal使用 我正在使用Python2.7.5,并运行IDLE接口 到目前为止,我从文件和相关问题中了解到: Python通过sys.path中列出的目录列表查找脚本和库 包目录必须包含\uuuu init\uuuu.py文件,该文件可以为空 我要创建的模块应该是一个modulename.py文件,其中代码位于包目录中 (资料来源:-) 以下是我尝试的失败之处: 创建了个人软件包目录C:\..\pythonlibs 创建了一

我对Python完全陌生,我想创建我的第一个Python库供peronal使用

我正在使用Python2.7.5,并运行IDLE接口

到目前为止,我从文件和相关问题中了解到:

  • Python通过sys.path中列出的目录列表查找脚本和库
  • 包目录必须包含
    \uuuu init\uuuu.py
    文件,该文件可以为空
  • 我要创建的模块应该是一个
    modulename.py
    文件,其中代码位于包目录中
(资料来源:-)

以下是我尝试的失败之处:

  • 创建了个人软件包目录
    C:\..\pythonlibs
  • 创建了一个子包目录
    C:\..\pythonlibs\package
  • 在两个文件夹中创建了
    \uuuuu init\uuuuuuuuuuuuupy
    文件
  • packacge
    dir中创建了
    mymodule.py
    文件
然后在空闲时使用以下代码:

import sys     
sys.path.append(r'C:\....\pythonlibs')
第一期:

目前,每次进入空闲状态时,我都必须执行此追加操作。如何将目录永久保留在sys.path中,就像那里有许多其他目录一样

然后我尝试导入我的包:

import pythonlibs #fails!! why?      
import pythonlibs.package #fails!! why?       
import package #works     
错误是:
ImportError:没有名为pythonlibs的模块

第二期

这似乎与文档不符,为什么我不能从根
pythonlibs
文件夹导入

用线

sys.path.append(r'C:\....\pythonlibs')
您正在指示解释器开始在此目录中查找模块(库)。由于此目录不包含
pythonlibs
文件夹(父目录包含),因此无法导入它

类似地-因为它包含模块
,所以可以使用第行导入它。

sys.path.append(r'C:\....\pythonlibs')
您正在指示解释器开始在此目录中查找模块(库)。由于此目录不包含
pythonlibs
文件夹(父目录包含),因此无法导入它


类似地-因为它包含模块
,所以它可以导入它。

因为您的导入是相对于您添加的路径:
r'C:\..\pythonlibs'
。如果有
C:\..\pythonlibs\pythonlibs
目录,则可以
导入pythonlibs
。您可能希望将路径添加更改为
r'C:\..\\\'
,并查找
PYTHONPATH
环境变量。因为您的导入与您添加的路径相关:
r'C:\..\pythonlibs'
。如果有
C:\..\pythonlibs\pythonlibs
目录,则可以
导入pythonlibs
。您可能希望将路径添加更改为
r'C:\..\\\
并查找
PYTHONPATH
环境变量。